汇编命令例题及debug调试
来源:互联网 发布:耐克官网和淘宝旗舰店 编辑:程序博客网 时间:2024/05/19 16:21
由于程序原先实在win32位机上设计的,现在用win10需要下载dosbox 软件,设置下载好相应的debug.exe,masm.exe,link.exe就可以开始debug命令调试啦~
先熟悉debug的几个最最常用命令:
-u 反汇编显示语句指令
-t 单步调试
-d 显示内存内容
-r 显示寄存器内容
-g 运行
-q 退出
调试过程:记事本写一个汇编程序,改成.asm后缀,进入dosbox 输入 masm xx.asm 编译,link xx.obj ,debug xx.exe 就可以进入调试页面了。
第一个例题 ,汇编语言的hello world!
data segmenthello db'hello,world!',0dh,0ah,'$' ;分别是字符串,回车,换行,结束符data endsstack1 segment para stack ;堆栈段先设置个100防止程序溢出dw 100 dup(?)stack1 endscode segmentassume cs:code,ds:data,ss:stack1start: mov ax,datamov ds,axlea dx,hellomov ah,09h ;09h显示字符串功能int 21hmov ah,4chint 21h ;4ch结束功能code endsend start
第二题 将AX寄存器中的16位数分成4组,每组4位,然后将这四组数分别放在AL、BL、CL、DL中。
这道题能很好的练习四个寄存器的存储结构。
data segmentsh dw 1234hdata endscode segmentassume cs:code,ds:datastart:mov bx,datamov ds,bxmov ax,shmov bx,shmov cx,shmov dx,shand ax,000fh ;屏蔽高12位mov cl,4 ;循环移位计数器是cx,所以送cl 4次shr bx,cland bx,000fhmov cl,8shr cx,cland cx,000fhmov cl,12shr dx,cland dx,000fhmov ah,4chint 21hcode endsend start
第三题 从键盘输入一串字符,然后在下一行以相反次序显示出来
data segmentmax equ 128 ;相当于 c语言的 typedefinput db max db ? ;个数db max dup(?) ;字符串msg db 'Please input a string:'clrf db 0dh,0ah,'$' ;回车换行结束符output db 'The result is:$'data endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov ah,09h ;显示msglea dx,msgint 21hmov ah,0ah ;输入字符串lea dx,inputint 21hmov ah,09lea dx,clrf ;回车换行int 21hmov ah,09hlea dx,output ;提示字符串int 21hmov ah,09lea dx,clrf int 21hmov cl,input+1 ;是input+1的偏址,实际输入字符个数 ,cx是控制循环次数的.mov ch,0mov dl,input+1mov dh,0lea si,input+2 ;input+2为实际输入字符的起始地址add si,dx ; 起始地址+个数s0: dec si ;SI为最后一个字符的地址 mov ah,02h ;显示单个字符mov dl,[si] ;显示dl的内容int 21hloop s0 ;循环在cx=0时结束了mov ah,4chint 21hcode endsend start
阅读全文
0 0
- 汇编命令例题及debug调试
- 汇编调试程序DEBUG
- debug调试汇编代码
- 【汇编】常用debug命令
- 汇编的 DEBUG 命令
- 初识汇编---Debug命令
- 汇编调试程序Debug使用
- X86汇编:debug命令详解
- 汇编debug与masm命令
- 初学汇编之Debug命令
- 汇编汇编(MASM debug命令)
- eclipse debug (调试) 命令
- Cisco Debug 调试命令
- 汇编语言调试DEBUG命令
- 汇编调试命令
- 汇编调试命令
- 汇编调试工具Debug的基本功能
- Debug命令及用法
- 用9种办法解决 JS 闭包经典面试题之 for 循环取 i
- PopupWindow
- HTTP和HTTPS的概念
- 详细的DedeCMS(织梦)目录权限安全设置教程
- Retrofit多线程下载加进度条展示
- 汇编命令例题及debug调试
- Qt之QSS(QDarkStyleSheet)【转】
- Linux下安装Tomcat
- 机器学习系列-最近邻分类器
- Win.ini 介绍
- vue-cli相关知识整理
- 聚类
- Python scrapy 安装与开发(代理服务器)
- numpy