关于汇编的期末考试复习1


学习内容:

汇编期末考试备考

1. 汇编语言属于机器语言。
2. 中央处理器是由运算器,控制器和寄存器组构成的
3. 存储器的一个字节表示8位(bit),例如:寄存器ax分为高八位ah和低八位al两个字节,
4. mov操作指令的使用方式
      1.mov 寄存器,数据 例如:mov ax,8
      2.mov 寄存器,寄存器 例如:mov ax,bx
      3.mov 寄存器,内存单元 例如:mov ax,[0]
      4.mov 内存单元,寄存器 例如:mov [0],ax
      5.mov 段寄存器,寄存器 例如:mov ds,ax

5. 8080/8088 CPU的寄存器组中,8位的寄存器共有8个
6. 在程序执行过程中,IP寄存器始终保存的是下一条指令的首地址
7. 在机器内部操作中,CPU与存储器之间的任何信息交换使用的都是物理地址
8. 物理地址的形成过程是将段地址左移4位加偏移地址
9. 如果某一存储单元的逻辑地址为236FH:1000H。则物理地址为(246F0H)

      物理地址=段地址16+偏移地址:CPU在访问内存时,用一个基础地址(段地址16)和一个相对基础地址的偏移地址相加,给出内存单元的物理地址。
      物理地址=绝对地址
      段地址:电脑内的存储器地址可被分为若干逻辑段,每个逻辑段的起始地址被称为段地址
      段地址
16相当于左移四位,然后地址相加,得到一个二十位的地址,因为当时地址线20根,寄存器最高16位,要寻址1M的空间,必须用段地址和偏移地址结合的方法
      所以本题解析:物理地址=段地址16(236FH10)+偏移地址1000H=246F0H ps:十进制的16在十六进制中为10*
10.如果一个字变量中存在16个字,该字变量的起始地址为1000H:2000H,则该自变量数据区中的最末一个子单元的物理地址为1201H。
                  解析:其中段地址为1000H,偏移地址为2000H,所以填入字变量之前的物理地址为12000H,但是填入了16个字,每个字占两个字单元,所以占32个字单元,按照偏移地址的增加量是0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,此为十六位偏移地址,即十六位字节10,11,12,13,14,15,16,17,18,19,1a,1b,1c,1d,1e,1f,此为十六位字节,但是最后一个字占寄存器ax,分为高位ah和地位al,并且在栈中,低位al先入栈占领1e,然后高位ah进入栈占领1f,所以最后一个字单元的物理地址为1201EH
11. 一个段最大可定义64k字节
12.一个段可以放在内存的任何地方,但是起始地址应该从一个能被16整除的单元地址开始。
13.关于shr和shl右移和左移的命令
         例:设AX=3762H,CL=5,执行“SHR AX,CL”后,AX=?
         解析:此处shr命令为右移,切十六进制的3762转化为二进制之后为11011101100010,所以二进制右移之后为00000110111011,答案为01BBH。
                   现在提供一下十六进制转化二进制的方法
                   方法一:首先十六进制转化为十进制,我们要先明白从右到左位次分别为0,1,2,3,…第0位的权值为16的0次方,第一位的权值为16的1次方,以此类推,例如3762H转化十进制的时候即为3*(163)+7*(162)+6*(161)+2*(160)=14178(博客使用不熟练,括号内的是十六的多少次方)然后将十进制转化为二进制,就简单了。
14.关于add ax,[bx]的命令
                 若DS=1000H,BX=2000H,(12000H)=56H,(12001H)=78H,AX=1000H,执行“ADD AX,[BX]”指令后,AX=( )。
                 解析:此处add ax,[bx],此处的[bx]指的是偏移地址bx位的数据,由上题可以看出,段地址ds=1000H,偏移地址bx为2000H,所以物理地址=12000H因为12001h为后进数据,为高位,所以[bx]=7856H,题上给出了AX=1000H,所以两者相加,最后=8856H。
15.压栈操作是十六位数的操作·
因为压栈的过程是现将高八位放入,再将低八位放入,依次循环,出栈先出低位,后出高位
16.在执行"DIV BX"指令后,ax中存放商,dx存放余数
div是一个除法指令:被除数默认放在ax或dx和ax中,
eg1:当除数是bl此类八位时,被除数放在ax中,结束后的商放在低八位al,余数放在高八位ah里面,
eg2:当除数时bx此类十六位时,被除数默认放在ax和dx中,ax中放低十六位,dx中存放高十六位,其中结果的余数放在高十六位dx中,商放在低十六位ax中
命令例如:div bl
17.B DW 1,2,10 dup(0)
这个命令可以看做分为三步,
dw 1
dw 2
dw 10 dup(0) ,
所以是分配了十二个字,二十四个字节
18.汇编文件的运行
汇编文件刚写完是以ASM为后缀的不可直接运行的文件,然后通过masm编译成以后缀为OBJ的文件,然后通过LINK连接成以后缀为EXE的可运行文件。
19.代码中特殊代码的作用
ASSUME 代码开始
code ends 段代码结束
start : 总代码开始位置
end start 总代码结束
20.当指令运算结果是0时,ZF标志位=1
21.【38题】psw是标志寄存器
所以要不改变psw的值,只有使指令的运行不干扰标志位的改变。所以只有mov ax,bx的转移指令
22.【42题】cmp 比较指令,但是不保留结果
cmp ax,70h,相当与拿着ax和70比,减一下,但是没有结果,只有过程,没有结果

JE   ;等于则跳转
JNE  ;不等于则跳转

JZ   ;为 0 则跳转
JNZ  ;不为 0 则跳转

JS   ;为负则跳转
JNS  ;不为负则跳转

JC   ;进位则跳转
JNC  ;不进位则跳转

JO   ;溢出则跳转
JNO  ;不溢出则跳转

JA   ;无符号大于则跳转
JNA  ;无符号不大于则跳转
JAE  ;无符号大于等于则跳转
JNAE ;无符号不大于等于则跳转

JG   ;有符号大于则跳转
JNG  ;有符号不大于则跳转
JGE  ;有符号大于等于则跳转
JNGE ;有符号不大于等于则跳转

JB   ;无符号小于则跳转
JNB  ;无符号不小于则跳转
JBE  ;无符号小于等于则跳转
JNBE ;无符号不小于等于则跳转

JL   ;有符号小于则跳转
JNL  ;有符号不小于则跳转
JLE  ;有符号小于等于则跳转
JNLE ;有符号不小于等于则跳转

JP   ;奇偶位置位则跳转
JNP  ;奇偶位清除则跳转
JPE  ;奇偶位相等则跳转
JPO  ;奇偶位不等则跳转

23.【多选第四题】逻辑地址和物理地址的区别和相同
逻辑地址和物理地址的区别是表达方式不同。例如逻辑地址1000:2000,分为段地址和偏移地址,但是物理地址相当于运算过的逻辑地址,此处逻辑地址对应的物理地址应为12000,他们的相同点是表达的位置一样。


													 参考书籍《汇编语言第四版》王爽著,任课老师 胡海芝
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值