1将AX中的值以十六进制形式显示。
要求:主程序利用寄存器把AX的值传送给子程序。
在子程序中将AX中的值以十六进制形式显示。
=====================================
DATA SEGMENT
D1 DW 13276 ;数: 0~65535
DATA ENDS
;------------------------------
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
;------------------------------
MOV AX, D1 ;取来数字
CALL DISP_AX
MOV DL, 'H'
MOV AH, 2
INT 21H ;输出H
;------------------------------
MOV AH, 4CH
INT 21H ;返回DOS
;------------------------------
DISP_AX:
MOV BX, 16 ;16进制,要除16
MOV CX, 4 ;求4位16进制数
ABC:
CWD ;将AX扩展到DX
DIV BX
PUSH DX ;保存余数到堆栈
LOOP ABC
MOV CX, 4 ;显示4位
ASD:
POP DX
CMP DL, 10
JB A48
ADD DL, 7
A48:
ADD DL, 48
MOV AH, 2
INT 21H ;输出
LOOP ASD
RET
;------------------------------
CODE ENDS
END START
===========================
2编写子程序,完成的功能是将DL中的2位十六进制数转换为对应ASCII码。
说明:入口参数AL=待转换的2位十六进制数
出口参数DX=转换后的ASCII码,(高字节对应高位、低字节对应低位)
举例:若AL=2AH,则DX=3241H。
0----9转换为30H----39H +30H
A---F转换为41H----4FH +30H+7H
;------------------------------
AL_ASC_DX:
MOV AH, 0 ;要除16
MOV CL, 16 ;求16进制数
DIV CL
CMP AL, 10
JB A48
ADD AL, 7
A48:
ADD AL, 48
MOV DH, AL
CMP AH, 10
JB A482
ADD AH, 7
A482:
ADD AH, 48
MOV DL, AH
RET
;------------------------------
汇编语言是一种用于电子计算机、微处理器、微控制器或其他可编程设备的低级语言,也称为符号语言。在汇编语言中,用助记符代替机器指令的 *** 作码,用地址符号或标号代替指令或 *** 作数的地址。同时,因为资源的稀缺性,计算机运行的效率也成为那个时代工程师追求的目标。为了更高效地使用计算机,人们设计了高级编程语言,以满足人们对高效简洁编程语言的追求。在编程语言被机器语言和汇编语言更新之后,人们发现了限制程序普及的关键因素——程序的可移植性。有必要设计一个可以独立于计算机硬件在不同机器上运行的程序。这样可以避免很多重复的编程过程,提高效率。同时,这种语言应该接近数学语言或人类自然语言。20世纪50年代,计算机还很匮乏的时候,第一个高级编程语言诞生了。那时候计算机的成本很贵,但是每天的计算量是有限的。如何有效利用计算机有限的计算能力,成为当时人们面临的问题。
以上就是关于汇编语言 子程序设计全部的内容,包括:汇编语言 子程序设计、汇编语言是一种什么程序设计语言、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)