问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

谁能为每句后面加注释:说明这句的作用。谢谢!

发布网友 发布时间:2022-05-23 18:22

我来回答

3个回答

热心网友 时间:2023-11-27 20:46

data segment ;定义数据段
data ends ;数据段定义结束
stack segment para stack 'stack' ;定义堆栈段
db 100h p(?) ;预留50个字的堆栈空间
stack ends ;堆栈段定义结束
code segment ;定义代码段
assume cs:code,ds:data,ss:stack ;段寄存器关联说明
start: ;代码段第一条指令从这里开始
mov ax,data ;数据段段址→ax
mov ds,ax ;ax→ds,给数据段段寄存器赋值
call decibin ;调用子程序,键盘输入几位十进制数并将其转换成十六进制数
call crlf ;调用子程序,输出一个回车、换行
call binihex ;调用子程序,将bx中的二进制数转换成可以显示的十六进制数并显示
call crlf ;调用子程序,输出一个回车、换行
mov ah,4ch ;结束程序
int 21h ;dos功能调用

decibin proc near ;定义子程序decibin
; 子程序:键盘输入几位十进制数并将其转换成十六进制数
push ax ;入栈保存ax寄存器
push cx ;入栈保存cx寄存器
pushf ;入栈保存标志寄存器
mov bx,0 ;0→bx
newchar:
mov ah,1 ;dos功能调用1号功能:带回显的控制台输入
int 21h ;dos功能调用
sub al,30h ;al-30h→al
jl exit ;al<0,转去恢复相关寄存器的值,结束子程序,返回调用者
cbw ;al的内容扩展为字
xchg ax,bx ;交换寄存器ax、bx的值
mov cx,10 ;10→cx
mul cx ;ax*10→dx,ax
xchg ax,bx ;交换寄存器ax、bx的值
add bx,ax ;bx+ax→bx
jmp newchar ;接收下一个数字
exit: popf ;标志寄存器出栈,恢复标志位
pop cx ;出栈,恢复cx寄存器
pop ax ;出栈,恢复ax寄存器
ret ;子程序结束,返回调用者
decibin endp ;decibin子程序定义结束

binihex proc near ;定义子程序binihex
; 子程序:将bx中的二进制数转换成可以显示的十六进制数并显示
push ax ;入栈保存ax寄存器
push cx ;入栈保存cx寄存器
push dx ;入栈保存dx寄存器
pushf ;入栈保存标志寄存器
mov ch,4 ;4→ch,循环计数
rotate:
mov cl,4 ;4→cl
rol bx,cl ;bx循环左移4位
mov al,bl ;bl→al
and al,0fh ;屏蔽al的高4位
add al,30h ;转换成ASCII码
cmp al,3ah ;al>'9'?
jl printit ;否,显示它
add al,7h ;转换成对应的十六进制字母
printit:
mov dl,al ;al→dl
mov ah,2 ;dos功能调用2号功能:显示一个字符(dl中)
int 21h ;dos功能调用
dec ch ;计数器减1
jnz rotate ;不为0,转换并显示下一位十六进制数
mov dl,'H' ;'H'→dl
mov ah,2 ;dos功能调用2号功能:显示一个字符(dl中)
int 21h ;dos功能调用
popf ;标志寄存器出栈,恢复标志位
pop dx ;出栈,恢复dx寄存器
pop cx ;出栈,恢复cx寄存器
pop ax ;出栈,恢复ax寄存器
ret ;子程序结束,返回调用者
binihex endp ;binihex子程序定义结束

crlf proc near ;定义子程序crlf
; 子程序,输出一个回车、换行
push ax ;入栈保存ax寄存器
push dx ;入栈保存dx寄存器
pushf ;入栈保存标志寄存器
mov dl,0dh ;回车符→dl
mov ah,2 ;dos功能调用2号功能:显示一个字符(dl中)
int 21h ;dos功能调用
mov dl,0ah ;换行符→dl
mov ah,2
int 21h
popf ;标志寄存器出栈,恢复标志位
pop dx ;出栈,恢复dx寄存器
pop ax ;出栈,恢复ax寄存器
ret ;子程序结束,返回调用者
crlf endp ;crlf子程序定义结束
code ends ;代码段定义结束
end start ;编译到此结束

热心网友 时间:2023-11-27 20:46

data segment
data ends
stack segment para stack 'stack'
db 100h p(?)
stack ends
code segment
assume cs:code,ds:data,ss:stack
start:
mov ax,data ;ax=data
mov ds,ax ;ds=ax
call decibin ;调用decibin
call crlf ;调用crlf
call binihex 调用
call crlf 调用
mov ah,4ch ah=4ch
int 21h
decibin proc near decibin
push ax ax进栈
push cx cx进栈
pushf
mov bx,0 bx=0
newchar: 标记
mov ah,1 ah=1
int 21h
sub al,30h
jl exit
cbw
xchg ax,bx
mov cx,10
mul cx
xchg ax,bx
add bx,ax
jmp newchar
exit: popf
pop cx
pop ax
ret
decibin endp

binihex proc near
push ax
push cx
push dx
pushf
mov ch,4
rotate:
mov cl,4
rol bx,cl
mov al,bl
and al,0fh
add al,30h
cmp al,3ah
jl printit
add al,7h
printit:
mov dl,al
mov ah,2
int 21h
dec ch
jnz rotate
mov dl,'H'
mov ah,2
int 21h
popf
pop dx
pop cx
pop ax
ret
binihex endp

crlf proc near
push ax
push dx
pushf
mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
mov ah,2
int 21h
popf
pop dx
pop ax
ret
crlf endp
code ends
end start
其实我也是个半吊子 边查边写 查的郁闷,自己查吧 查好了贴上来看看~~

热心网友 时间:2023-11-27 20:47

汤旺河边 辛苦了 ~ 你给人家分吧~ 人家给你那么多注释~
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
对自己的前途怎么看? 开封哪里卖台球桌 范县新区哪里有卖麻将的 如何访问soutong防屏蔽网站 如何查看被屏蔽的属性? 商南有建设银行是真的吗? 输尿管结石能用体外碎石吗 输尿管体外碎石可进行几次 输尿管中段结石可以体外碎石吗 女人梦见大便是吉兆发财 现有关系模式: 学生选课关系(学号,学生姓名,年龄,系别,选修课程号,选修课程名,成绩) 语义约束: 1、已知(Ax)=5678H,(Bx)=1234H,(Ds)=2000H,(Es)=3000H,指令XCHG Ax,Bx执行后Ax的内容为() xchg ax,bx为什么错 在汇编语言中怎样实现两个数互换? 为什么婴儿的笑容很治愈大人的心情呢? 新生儿 笑 什么时候 汇编语言里的问题,想请教一下老鸟 判断语法并说明错误XCHG SI,AX 新生儿在睡觉的时候会突然笑,这是为什么呢? xchg ax ss对吗? 你知道新生儿“笑”的含义? 新生儿睡觉老笑是怎么了 刚出生的新生儿为什么会笑 东区女巫变形人是婆婆 电视剧里是的,但是原著里她就是一个龙套而已 巫婆变身记里沙漏是什么东西 女主角变身萨满女巫大战火麒麟的寻宝电影 自怜秋蝶生不早只与夜蛩声共悲是什么意思 圣诞树是什么数??? 垫付2-4连单是什么意思 做销售三连单是什么意思? 做汇编实验时遇到的问题 完成同指令XCHG AX,BX相同功能的指令或指令序列是? 汇编 冒泡排序 求高手 汇编语言每次LOOP后,CX不是减1,而是直接变成0了, 微机原理 汇编语言 小舅子考试问我些编程问题,在下实在不会,求各路英雄赐教解困。谢谢! Steelseries的Ikari鼠标和罗技的MX518 最近更新了一次steelseries engine 3就搜索不到设备了... 军人每天干些什么 本地连接的ip地址是连接Internet代理服务器的ip吗 禅定是怎么回事? 宏基4741G 无线网指示灯突然不亮了,也不能收索到我的无线网路由器,求高手帮助啊!! 传奇世界各种品质的黑铁矿价格 传奇3黑铁矿石什么价格,哪里有玩家收、》? 传奇3玩家近来看一下 ·传奇世界黑铁矿石纯度19应出多少价? 传奇世界中的各种矿的大概价钱是多少? 传奇归来黑铁矿石的价格是多少? 挖矿攻略 飞扬神途 黑铁多少纯度有用 WOW 巫术之刃价格 从栋栊到白云山要多少距离