中易网

求此汇编语言程序的注释 最好能逐条解释 3Q啊 我只有5分 555555。。。。

答案:2  悬赏:40  
解决时间 2021-01-11 10:35
  • 提问者网友:人生佛魔见
  • 2021-01-10 19:30
求此汇编语言程序的注释 最好能逐条解释 3Q啊 我只有5分 555555。。。。
最佳答案
  • 二级知识专家网友:詩光轨車
  • 2021-01-10 20:01
输入十进制数 输出并显示16进制数
code segment ;代码段开始
assume cs: code ;指示代码段寄存器内容
org 100h ;org是汇编器的伪指令,是告诉编译器下一条汇编语句的偏移地址
start:

MOV bx, 0
input : MOV ah, 01 ;AH=01 功能从键盘读入一个字符并显示,该字符的ASCII码送到AL
int 21h ;中断调用 执行AH功能号
; cmp al, 65H
; JZ EXIT
cmp al, 0dh ;比较AL和0D的大小 H表示十六进制数,实际为减法运算。不修改原值
jz write ;相等或为〇则跳转
sub al, 30h ;AL-30H送到AL,将数字的ASCII码修改为数值
例如0~9的ASCII码为30H~39H
MOV cl, al
MOV ch, 0
MOV ax, bx
MOV bx, 0ah ;
mul bx ;AX内容乘以BX送到DX:AX
MOV bx, ax
add bx, cx ;加法指令 BX+CX送到BX
jmp input ;无条件跳转

write : MOV dl, 0dh
MOV ah, 02h ;功能号2 显示输入一个字符AH=02H,将DL寄存器的中字符(ASCII码值)送到标准输出输入设备上输出
int 21h ;中断调用读取功能号
MOV dl, 0ah ;0AH换行的ASCII码送到DL
MOV ah, 02
int 21h ; 输出回车和换行

MOV dh, 2 ;
CC : MOV si, 2 ;
BB: MOV AH, 0
MOV AL, BH

MOV CL, 4 ;移位的位数4送到CL
SHL AX, CL ; 左移动4位
cmp ah, 10 ;比较AH和10的大小
MOV BH, al
jC disp
add ah, 7

disp: add ah, 30h
MOV dl, ah
MOV ah, 02
int 21h

dec si
mov cx, si
jcxz disp1
jmp bb
disp1 : MOV bh, bl
dec dh

jnz cc
EXIT: MOV AH, 1
INT 21H

MOV AH, 4CHINT 21H
code ends end start
全部回答
  • 1楼网友:过活
  • 2021-01-10 21:41
5568
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息