ret 指令使用栈中的数据,修改ip的内容,从而实现近转移
retf 指令使用栈中的数据,修改cs和ip内容,从而实现远转移
检测点10.1
mov ax,0
mov ax,1000h
检测点10.2
ax=0003h
call 标号(将当前的ip压栈后,转到标号处执行指令)
1、(sp)=(sp)-2
((ss)*16+(sp))=(ip)
2、(ip)=(ip)+16位位移
call 标号 机器指令中没有转移的目的地址,而是相对于当前ip的转移位移
call far ptr 标号 实现段间转移
1、(sp)=(sp)-2
((ss...
[2011-05-31 00:22] 第十章知识点
阅读全文 |
评论次数(0) |
浏览次数(356) |
所属类型(汇编作业)
[2011-05-31 00:21] 第九章知识点
操作符 offset 他的功能是取标号相对所属段的偏移地址
jmp 为无条件转移指令,可以修改ip,也可以同时修改cs和ip
jmp指令要给出两种信息:
1、转移的目的地址
2、转移的距离(段间转移、段内短转移,段内近转移)
jmp short 标号(转移到标号处执行指令)
段内短转移它对ip的修改范围是-128~127个字节
功能:(ip)=(ip)+8位位移
1、8位位移=标号处的地址-jmp指令后的第一个字节的地址
2、short指明此处的8位移
3、8位位移的范围是-128~127,用补码表示
4、8位位移游编译器在编译的时候算出
jmp ...
jmp 为无条件转移指令,可以修改ip,也可以同时修改cs和ip
jmp指令要给出两种信息:
1、转移的目的地址
2、转移的距离(段间转移、段内短转移,段内近转移)
jmp short 标号(转移到标号处执行指令)
段内短转移它对ip的修改范围是-128~127个字节
功能:(ip)=(ip)+8位位移
1、8位位移=标号处的地址-jmp指令后的第一个字节的地址
2、short指明此处的8位移
3、8位位移的范围是-128~127,用补码表示
4、8位位移游编译器在编译的时候算出
jmp ...
阅读全文 |
评论次数(0) |
浏览次数(304) |
所属类型(汇编作业)
[2011-05-29 22:29] 第八章
只有bx si di bp这四个寄存器可以用在"[....]"中进行内存单元寻址,并且只能是bx和si,bx和di,bp和si,bp和di的组合,值得注意的是在[....]中出现bp的话,而没有显性的给出段地址的话,段地址就默认在SS中
操作符:ptr
用X ptr指定内存单元的长度,X可以用word和byte表示
push 不用指明,只做字操作
div指令是除法指令,使用div做除法的时候注意:
1、除数有8位和16位两种,在一个寄存器或内存单元中
2、被除数:默认放在AX或DX和AX中,如果除数为8位,被除数为16位,默认在AX中存放,如果除数是16位,被除数是32位...
操作符:ptr
用X ptr指定内存单元的长度,X可以用word和byte表示
push 不用指明,只做字操作
div指令是除法指令,使用div做除法的时候注意:
1、除数有8位和16位两种,在一个寄存器或内存单元中
2、被除数:默认放在AX或DX和AX中,如果除数为8位,被除数为16位,默认在AX中存放,如果除数是16位,被除数是32位...
阅读全文 |
评论次数(0) |
浏览次数(256) |
所属类型(默认类型)
[2011-05-26 16:52] 第七章
STACKSG SEGMENT ;堆栈段
DW 0,0,0,0,0,0,0,0 ;注意这里只有128个字节
STACKSG ENDS
DATASG SEGMENT ;数据段
DB '1. display '
DB '2. brows '
DB '3. replace '
...
DW 0,0,0,0,0,0,0,0 ;注意这里只有128个字节
STACKSG ENDS
DATASG SEGMENT ;数据段
DB '1. display '
DB '2. brows '
DB '3. replace '
...
阅读全文 |
评论次数(0) |
浏览次数(303) |
所属类型(默认类型)
[2011-05-24 22:27] 第五章
loop 指令
loop格式:loop 标号
操作:1.(cx)=(cx)-1 2.判断cx的值,不为零则转至标号出执行程序,如果为零则向下执行
*通常我们用loop来执行循环操作,用cx来存放循环的次数
cx和loop配合实现循环的3个要点:
1、在cx中存放循环次数
2、loop指令中的标号所表示地址要再前面
3、要循环执行的程序段,要写在标号和loop之间
框架:
mov cx,循环次数
标号:
循环执行的程序段
loop 标号
**在汇编中数据不能以字母开头,有以字母开头的数据要加“0”在数据前面
& debug 的新指令 g...
loop格式:loop 标号
操作:1.(cx)=(cx)-1 2.判断cx的值,不为零则转至标号出执行程序,如果为零则向下执行
*通常我们用loop来执行循环操作,用cx来存放循环的次数
cx和loop配合实现循环的3个要点:
1、在cx中存放循环次数
2、loop指令中的标号所表示地址要再前面
3、要循环执行的程序段,要写在标号和loop之间
框架:
mov cx,循环次数
标号:
循环执行的程序段
loop 标号
**在汇编中数据不能以字母开头,有以字母开头的数据要加“0”在数据前面
& debug 的新指令 g...
阅读全文 |
评论次数(0) |
浏览次数(299) |
所属类型(默认类型)
[2011-05-18 14:37] 第四章
program segment prefix ,简称PSP(程序段的前缀)
当输入一个外部命令或通过EXEC子功能(系统功能调用INF 21h的子功能号为4BH)加载一子程序时,COMMAND确定当时内存可用空间的最低端作为程序段起点。在程序所占内存空间的前256个字节中,系统会为程序创建程序的前缀(PSP)的数据区,DOS要利用PSP来和被加载程序进行通信;PSP内有程序返回、程序文件名等信息,可以通过研究psp定位文件名信息,进而获取文件名。 从这段内存区的256字节处开始(在PSP的后面),将程序装入,程序的地址被设为SA+10H:0 (其中SA为系统为程序分配内存的起始位置的段...
当输入一个外部命令或通过EXEC子功能(系统功能调用INF 21h的子功能号为4BH)加载一子程序时,COMMAND确定当时内存可用空间的最低端作为程序段起点。在程序所占内存空间的前256个字节中,系统会为程序创建程序的前缀(PSP)的数据区,DOS要利用PSP来和被加载程序进行通信;PSP内有程序返回、程序文件名等信息,可以通过研究psp定位文件名信息,进而获取文件名。 从这段内存区的256字节处开始(在PSP的后面),将程序装入,程序的地址被设为SA+10H:0 (其中SA为系统为程序分配内存的起始位置的段...
阅读全文 |
评论次数(0) |
浏览次数(288) |
所属类型(默认类型)
[2011-05-18 00:01] 第三章
这一章我用了好几天才学完,每天都有很多的工作做,所以学的慢了一点
检测点3.2
1.mov ax,2000h
mov ss,ax
mov sp,0010h
2.mov ax,1000h
mov ss,ax
mov sp,0000h...
检测点3.2
1.mov ax,2000h
mov ss,ax
mov sp,0010h
2.mov ax,1000h
mov ss,ax
mov sp,0000h...
阅读全文 |
评论次数(0) |
浏览次数(281) |
所属类型(汇编作业)
[2011-05-12 23:33] 第二章 寄存器
8086 cpu 在复位的时候会把cs=ffffh ip=0000h 所以8086在复位的时候第一条指令是ffff0h位置。
cs:ip 来组成代码地址 cs:ip的值不可以通过mov来修改
jmp 段地址:偏移地址 来修改cd:ip的值
2.1检测题
AX=62627(F4A3)
31A3
3123
6246
BX 826C
CX 6246
826C
AX=04D8
AX=0482
6C82
D882
D888
D810
6246
MOV AX,2
ADD AX,A...
cs:ip 来组成代码地址 cs:ip的值不可以通过mov来修改
jmp 段地址:偏移地址 来修改cd:ip的值
2.1检测题
AX=62627(F4A3)
31A3
3123
6246
BX 826C
CX 6246
826C
AX=04D8
AX=0482
6C82
D882
D888
D810
6246
MOV AX,2
ADD AX,A...
阅读全文 |
评论次数(0) |
浏览次数(290) |
所属类型(汇编作业)
[2011-05-12 11:21] 汇编语言第一章
测试题:
1.13 10条总线可以寻址1KB 8KB是13根总线
2.1024 0--1023
3.1024*8 1024
4.1024*1024*1024 1024*1024 1024
5.64 1 16 4
6.1 1 2 2 4
7.512 256
8.二进制
这章节主要是基础知识,了解总线的功能及使用方法,存储单元是一个字节,10条地址总线可以寻址1KB...
1.13 10条总线可以寻址1KB 8KB是13根总线
2.1024 0--1023
3.1024*8 1024
4.1024*1024*1024 1024*1024 1024
5.64 1 16 4
6.1 1 2 2 4
7.512 256
8.二进制
这章节主要是基础知识,了解总线的功能及使用方法,存储单元是一个字节,10条地址总线可以寻址1KB...
阅读全文 |
评论次数(0) |
浏览次数(549) |
所属类型(汇编作业)
[2011-05-12 11:14] 开始
在年初就发现这个论坛了,也开了自己的学习博客,可是一直都没有好好的利用起来这个学习博客,今天要从新开始学习汇编的路,给自己几点要求:1.学习的时候不轻视任意一章一节,不要以为某章的知识自己知道就不用心去看,越是熟悉的章节越是自己容易忽略的知识点;2.学习要持之以恒,不能今天想起来就看一会,明天忘记了就不看3.学完每一章都要及时的独立完成章节测试,然后跟前辈的答案对照,把每一个测试题目都弄清楚,把自己的章节总结发表到自己的学习博客(先按照这3点来执行,有了其他要求再添加)...
阅读全文 |
评论次数(0) |
浏览次数(288) |
所属类型(默认类型)