汇编语言程序设计知识点
第一章 基础知识
(1正负数的补码表示, 掌握计算机中数和字符的表示;
1、假设机器字长为8位,[+3]补 =00000011B,[-3]补= FD H 。
2、十六进制数0F8H表示的十进制正数为 248 ,表示的十进制负数为 -8
3、8位二进制数被看成是带符号补码整数时,其最小值是 -128 ,最大值是 127
4、计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍采用的是 ASCII 码,称为美国信息交换标准码
第二章80x86计算机组织
(1)中央处理机CPU的组成和80x86寄存器组,重点:专用寄存器,段寄存器
1、IP寄存器中保存的是?下一条指令的首地址
2、FLAGS标志寄存器中共有位条件状态位?6位
3、有位控制状态位? 3位
4、标志寄存器分为哪2类?条件码,控制
5、哪个标志位用来控制可屏蔽中断请求是否被CPU响应?IF
6、键盘I/O、显示I/O和打印I/O分别对应16、10和17号中断。
(2)存储单元的地址和内容,存储器地址的分段,实模式下逻辑地址、物理地址的表示。
1、如果SS=6000H,说明堆栈段起始物理地址是60000H
2、已知字节(00018H)=14H,字节(00017H)=20H,则字(00017H)为 1420H
3、如果数据段中一个内存单元对应的物理地址为3F756H,(DS)=3F00H,那么使用DS段寄存器指明该单元的段基值时,需要使用哪一个偏移量才能正确访问该单元756H
4.如果(SI)=0088H,(DS)=5570H,对于物理地址为55788H的内存字单元,其内容
为0235H,对于物理地址为5578AH的内存字单元,其内容为0E60H,那么执行指令LDS  SI,[SI]以后,(SI)=  0235H    ,(DS)=  0E60H     .
第三章80x86的指令系统和寻址方式
(1)与数据有关的寻址方式(立即寻址方式,寄存器寻址方式,直接寻址方式,寄存器间接寻址方式,寄存器相对寻址方式,基址变址寻址方式,相对基址变址寻址方式)和与转移地址有关的寻址方式(段内直接寻址,段内间接寻址,段间直接寻址,段间间接寻址). 数据传送指令(通用数据传送指令、累加器专用传送指令、输入输出指令)、算术指令(加法指令减法指令(*加减指令对4个标志位的影响[of,cf,sf,zf])乘法指令(*乘法指令的要求:目的操作数必须是累加器)、除法指令(*被除数在累加器中,除法指令执行完以后,商和余数在?))、逻辑指令(逻辑运算指令(*XOR,AND,OR,TEST指令及指令执行后对标志位的影响)移位指令)、串处理指令(与REP相配合工作的MOVS、STOS、LODS指令,与REPE/REPZ和REPNE/REPNZ联合工作的CMPS、SCAS指令)、控制转移指令(无条件转移指令、条件转移指令循环指令、子程序调用指令、中断)。
1、假定(DS)=2000H(ES)=2100H(SS)=1500H(SI)=00A0H(BX)=0100H(BP)=00
10H,数据段中变量名VAL的偏移地址为0050H,试指出下列源操作数字段的寻址方式是什么?其物理地址值是多少?
(1) MOV    AX, 0ABH            立即寻址 操作数在指令中
(2) MOV    AX, BX                寄存器寻址 操作数为(BX)=0100H
(3) MOV    AX, [100H]        直接寻址 20100H
(4) MOV    AX, VAL            直接寻址 20050H
(5) MOV    AX, [BX]        寄存器间接寻址 20100H
(6) MOV    AX, ES:[BX]        寄存器间接寻址 21100H
(7) MOV    AX, [BP]        寄存器间接寻址 15010H(BP默认段为SS)
(8) MOV    AX, [SI]        寄存器间接寻址 200A0H
(9) MOV    AX, [BX+10]        寄存器相对寻址 20110H
(10) MOV    AX, VAL[BX]        寄存器相对寻址 20150H
(11) MOV    AX, [BX][SI]    基址变址寻址 201A0H
(12) MOV    AX, VAL[BX][SI]    相对基址变址寻址 201F0H
2、假定 (DS)= 1000H, (SS)= 2000H,(SI)= 3000H,(BX)= 0100H,(BP)= 0200H,数据段中变量名为OVAR的偏移地址值为0050H,请指出下列源操作数的寻址方式是什么?其物理地址值是多少?
1. MOV  DX, [1000H]        直接寻址 11000H
2. MOB  DX,  [BX]            寄存器间接寻址 10100H
3. MOV  DX, OVAR[BP]        寄存器相对寻址 10250H
4. MOV  DX, [BX+SI]        寄存器相对寻址 13100H
5. MOV  DX, OVAR[BX][SI]    相对基址变址寻址 13150H
(2)数据传送指令(通用数据传送指令、累加器专用传送指令)
算术指令(加法指令、减法指令(*加减指令对4个标志位的影响[of,cf,sf,zf])、乘法指令(*乘法指令的要求:目的操作数必须是累加器)
除法指令(*被除数在累加器中,除法指令执行完以后,商和余数?)
逻辑指令(逻辑运算指令(*XOR,AND,OR,TEST指令及指令执行后对标志位的影响)、移位指令)
串处理指令(与REP相配合工作的MOVS、STOS、LODS指令,与REPE/REPZ和REPNE/REPNZ联合工作的CMPS、SCAS指令)
控制转移指令(无条件转移指令、条件转移指令、循环指令、子程序、中断)
1、将首地址为STRING的字节数组的第7个元素(编号从0开始)送到累加器AL中,用SI寄存器相对寻址的指令为:  MOV SI 6H        MOV AL STRING[SI]
2、下列ASCII码串(包括空格符)依次存储在起始地址为CSTRING的字节单元中:
CSTRING  DB  ‘BASED ADDRESSING’
请编写指令将字符串中的第1个和第7个字符传送给DX寄存器。
MOV DH CSRTING
MOV DL CSRTING+7-1
3、如果JMP指令采用段间间接寻址,那么转移地址存放在4个相邻字节单元中,其中前两个字节存放的是 偏移地址 ,而后两个字节存放的是 段地址
4、重复前缀指令REP的重复次数由  汇编table指令什么意思计数寄存器Count Reg 决定。
5、在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是 Count Reg=0 ZF=0
6、当标志位 CF =1时表示无符号数运算产生溢出,而当标志位 OF =1是表示带符号数运算产生溢出。
7、ALVAR字节单元中分别存放一个带符号数,执行CMP ALVAR时,如果AL>VAR,那么溢出位和符号位的关系是。(OF=SF,还有发生溢出的情况,AL-VAL尽管为负,但OF=1,说明是由于结果太大(负的太大)超出了带符号数的表示范围使得符号位为负的,正确的结果应该为正。)
8、循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是ZF=0且CountReg≠0
9.设SP=4AH,执行段内返回指令RET 4后,SP的值是  50H     
10.条件转移指令的转移范围?(只能做段内的短转移)
11.转移指令JMP NEAR PTR PROCA的转移范围是  8000H~7FFFH   
12.计算机系统通过  主机系统   和外部设备通信。
DOS系统功能调用方式为:(1)置入口参数;(2)中断程序编号送 AH 寄存器后执行INT 21H。(教材Page320,page335)
13.阅读下面的程序片段,并分析执行结果。
MOV  AX,723AH
MOV  BX,0C86BH
SUB  AL,BL
SBB  AH,BH
XOR  AL,01H
ADC  AX,0
执行该程序片段后:
(AX)=  0A9CEH ,CF =   0 ,OF = 0 。(XOR使CF/OF为0)
第四章 汇编语言程序格式
(1)伪操作:数据定义及存储器分配伪操作,表达式赋值伪操作EQU,段定义伪操作、程序开始和结束伪操作、对准伪操作、基数控制伪操作。
(2)汇编语言程序格式:汇编语言源程序中的每个语句的组成格式:名字项、操作项(包括?)、操作数项和注释项
1、在某数据段内定义变量
BUFFER  DB  30 DUP (20)
表达式 TYPE  BUFFER的值为 1
2.BUFl DB 3 DUP(0,2 DUP(1,2),3)
  COUNT  EQU  $-BUFl
  变量COUNT的值是    18     
3.DATA  SEGMENT
    DB 2EH DUP(0)             
  VAR1 DB 12H,34H
  VAR2 DB 10H DUP(O)
  ADR1 DW VAR1,VAR2
DATA ENDS
为使ADR1+2字存储单元中内容为0030H,横线上应选用的语句是_ORG$+30H_______。
4.BUF DW 4,6,$+2,若汇编时BUF分配的偏移地址是0042H,则汇编后BUF数组中第三个字的值是 0048H    
5、设某数据段:     
DATA SEGMENT
    ORG 20H
    NUM1=8
    NUM2=NUM1+10H
    DA1 DB ‘COMPUTER’
    DB 0AH,0DH
    COUNT EQU $-DA1
    DA2 DW ‘CO’’MP’’UT’ER’
DATA ENDS
请回答:(1)DA1的偏移地址是: 20H
    (2)COUNT的值是0AH
(3)DA2+5字节单元的内容是 ‘U’的ASCII码。(DW/DB储存字符串的方式不同)
6、执行下列指令序列后,AX寄存器中的内容是什么?
    TABLE  DW  10,20,30,40,50

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。