汇编与接口
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
cd..返回到上一目录
cd\返回根目录
dir查看全部文件
del+文件名,删除文件
edit+文件名.asm,编辑文件
ml+asm文件,汇编文件
debug exe文件,调试文件
-u命令反汇编
-t单步执行
int是中断指令,不能单步执行
-u显示接下来要执行的指令
-g +断点位置 断点执行
-g 执行到文件末尾显示program terminated normally
-d查看数据段内容-
左边由冒号分割的两个十六位数据是逻辑地址cs:ip(起始地址)
偏移地址是顺序增加的
中间是存储单元的实际数值16个单元(机器码)
右边是每个内存单眼中的数据对应的可现实的ASII码,如果没有可显示的ASII码debug用.来代替
-a 写入汇编指令
-e 修改存储单元内容
-r 查看修改寄存器的命令
-r +寄存器=修改
可以用E命令和A命令两种方式将指令写入内存,注意用T命令时,CS:IP的指向。
eg.1
MOV AH,02
这条指令中要做的处理是将02这个数字放到AH寄存器中。
AH和02都是操作数,02称为原操作数,AH称为目的操作数。
磁盘不同于内存,磁盘上的数据或程序如果不读到内存中,就无法被cpu使用;在内存和磁盘上,指令和数据没有任何区别,都是二进制信息。
存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号;
地址总线:低--》高
一个CPU有N条地址总线,则可以说这个CPU的地址总线得到宽度为N。
数据总线的宽度决定了CPU与外界的数据传送速度;
控制总线的宽度决定了CPU对外部期间的控制能力。
3.2
内存地址由段地址和偏移地址组成;
ds寄存器用来存放要访问数据的段地址
mov指令
1. 将数据直接送入寄存器,
2.将一个寄存器中的内容送入另一个寄存器
mov ax,bx
mov ax,1000h
8086CPU不支持将数据直接送入段寄存器的操作
所以 mov ds,1000h是非法的
只能用一般寄存器过度
mov ax,1000h
mov ds,ax
将数据从寄存器送入内存单元中
mov bx,1000h
mov ds,bx
mov [0],al ---1000:0处的字型数据送入 ax,[0]为偏移地址为0的内存单元
mov指令中只给出单元的偏移地址,此时,段地址默认在DS中