给下面汇编程序添加注释

来源:百度知道 编辑:UC知道 时间:2024/06/20 06:34:31
1.把十六进制259F转换为是进制9631
data_seg segment
DATAX dw 259FH
data_seg ends
code_seg segment
main proc far
assume cs:code_seg,ds:data_seg
start:
push ds
sub ax,ax
push ax
mov ax,data_seg
mov ds,ax
mov bx,DATAX
mov cx,1000d
call div_display
mov cx,100d
call div_display
mov cx,10d
call div_display
mov cx,1d
call div_display
mov ah,07
int 21h
ret
main endp
div_display proc near
mov dx,0
mov ax,bx
div cx
mov bx,dx
mov dl,al
add dl,30h
mov ah,02h
int 21h
ret
div_display endp
code_seg ends
end start

2.统计十六进制数1CE8中 1的个数

data_seg segment
DATAX dw 1CE8H
data_seg ends
code_seg segment
main proc far
assume cs:code_seg,ds:data_seg
sta

1.把十六进制259F转换为是进制9631
data_seg segment
DATAX dw 259FH
data_seg ends
code_seg segment
main proc far
assume cs:code_seg,ds:data_seg
start:
push ds
sub ax,ax
push ax;以上几句,保存返回地址
mov ax,data_seg
mov ds,ax;定义数据段址
mov bx,DATAX ;取待转换十六进制数259FH
mov cx,1000d ;CX←1000
call div_display
mov cx,100d ;CX←100
call div_display
mov cx,10d ;CX←10
call div_display
mov cx,1d ;CX←1
call div_display
mov ah,07;等待按键
int 21h
ret;按任一键,退出程序
main endp
div_display proc near
mov dx,0;高位DX清0
mov ax,bx;首次取259FH,其后是取回余数
div cx;除以CX
mov bx,dx;余数送BX暂存
mov dl,al;商送DL
add dl,30h;化为相应数的ASCII码
mov ah,02h;输出DL中的字符
int 21h
ret;子程序返回
div_display endp
code_seg ends
end start
2.统计十六进制数1CE8中 1的个数
data