汇编查表格式怎么写( 二 )


4.单片机汇编查表指令mov xp0,#0
mov dptr,#tp0
LOOP: mov a,xp0
movc a,@a+dptr
mov p2,a
inc xp0
mov a,xp0
cjne a,#80,LOOP %循环查表中每一个直接的值,一共80次%
ret
tp0: DB 030H,048H,048H,048H,048H,048H,030H,000H
DB 010H,030H,010H,010H,010H,010H,07CH,000H
DB 000H,038H,044H,004H,018H,020H,07CH,000H
DB 030H,048H,008H,010H,008H,048H,030H,000H
DB 008H,018H,028H,048H,07CH,008H,008H,000H
DB 03CH,020H,020H,038H,004H,024H,018H,000H
DB 078H,040H,040H,078H,048H,048H,078H,000H
DB 078H,008H,008H,008H,008H,008H,008H,000H
DB 030H,048H,048H,030H,048H,048H,030H,000H
DB 030H,048H,048H,038H,008H,048H,030H,000H
5.汇编题:试编写一个程序,用查表的方法求; 本程序在MASMPlus 1.2集成环境下通过编译,经过调试,运行正确 。
Code Segment
Assume CS:Code,DS:Code
; -------------------------------------
; 功能:显示指定地址(Str_Addr)的字符串
; 入口:
; Str_Addr=字符串地址(要求在数据段)
; 用法: Output Str_Addr
; 用法举例:Output PromptStr
Output MACRO Str_Addr
lea dx,Str_Addr
mov ah,9
int 21h
EndM
; -------------------------------------
Table_Data db 0,1,4,9,16,25,36,49,64,81 ;平方值表
Press_Key db 7,13,10,13,10,'The complated. Press any key to exit 。$'
Start: push cs
pop ds
lea bx,Table_Data ;表地址
mov al,-9 ;自变量初值
xor ah,ah
xor dx,dx ;平方和初值
mov cx,19 ;自变量数
Find_Table: push ax
test al,al
jns $+4 ;不是负数,直接查表
neg al ;负数,求补(绝对值)
xlat ;查表
add dx,ax ;累加平方和
pop ax
inc al ;自变量增1
loop Find_Table
; -9~9的平方和保存在寄存器DX中
; -------------------------------------
Exit_Proc: Output Press_Key ;提示操作完成,按任意键结束程序
mov ah,1
int 21h
mov ah,4ch ;结束程序
int 21h
Buffer dw ?,? ;数据缓冲区
Code ENDS
END Start ;编译到此结束
【汇编查表格式怎么写】

汇编查表格式怎么写

文章插图