|
汇编言语开发环境
学习8086CPU汇编言语需求在32位零碎DOS环境中进行调试,目前的操作零碎个别都是64位且降级到Windows10,比来我也在有数次零碎提示之下按下了Window十一更新,这些都无奈启动debug.exe。
因此,咱们能够使用DOSBox工具,能够在多种操作零碎中反对DOS环境,首先下载好DOSBox和debug.exe,我将这两个可履行文件放到桌面文件夹asm中。
双击DOSBox装置包,一路下一步流利无脑装置。而后双击启动:
挂载目录:
但是,每次启动都要履行命令,对比费事,能够间接找到上面文件:
文件地位(需求设置显示暗藏文件): C:\Users\Cat\AppData\Local\DOSBox\C:\Users\Cat\AppData\Local\DOSBox在最初面加之指令: [autoexec] # Lines in this section will be run at startup. # You can put your MOUNT lines here. mount c: c:/Users/Cat/Desktop/asm c:
调剂界面大小:
# windowresolution=original # output=surface windowresolution=1080x800 output=opengl入栈出栈
编程:
将1000H~1000FH这段空间当做栈,初始形态栈是空的;设置AX=001AH,BX=001BH;将AX、BX中的数据入栈;而后将AX、BX清零;从栈中恢复AX、BX原来内容。
栈替换数据
编程:
将1000H~1000FH这段空间当做栈,初始形态栈是空的;设置AX=001AH,BX=001BH;利用栈,替换AX和BX中的数据。…… pop ax pop bx栈写入数据在10000H处写入字型数据2266H,能够使用如下顺序完成:
上面,要求不使用mov 内存单元,寄存器指令完成此功用。
思考,利用入栈操作,设置栈段和栈顶指针再将数据入栈。
DOSBox运转asm文件
将masm.exe和link.exe放入asm文件夹,并创立t.asm文件,写入顺序:
假如感觉编译链接进程对比繁琐,能够在配置文件中间接写好,每次履行文件重启DOSBox就能,能够把DOSBox固定到桌面下方工作栏,文件名指定,好比t.asm,需求测试其余文件就要将新的顺序复制过去。
内存数据累加
计算ffff:0~ffff:b单元中的数据的和,后果存储在dx中。
留意: 1.单元中数据为8位,不克不及间接累加到16位寄存器中; 2.能够使用一个16位寄存器做中介,将内存单元中的8位数据赋值到一个16位寄存器ax中,再累加到dx上。assume cs:codesg codesg segment start:mov ax,0ffffH mov ds,ax mov bx,0 mov dx,0 mov cx,十二 s:mov al,[bx] mov ah,0 add dx,ax inc bx loop s mov ax,4c00H int 21H codesg ends end start
测试时使用4个单元数据累加,用计算器进行验证,终究DX寄存器中的数值也是1BCH。
甚么是汇编言语?逆向剖析必备言语汇编言语源顺序编写和堆栈均衡寰球最大异性交友网站,github代码版本办理一文详解git分支办理,平行宇宙中的代码合并一文详解git版本创立与回退,顺序猿居家旅行必备技巧一文详解Nginx办事器配置,反向代理和负载平衡 |
|