微型计算机与接口技术微机复习汇编_第1页
微型计算机与接口技术微机复习汇编_第2页
微型计算机与接口技术微机复习汇编_第3页
微型计算机与接口技术微机复习汇编_第4页
微型计算机与接口技术微机复习汇编_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、汇编语言程序设计复习汇编语言程序设计复习1。二进制数,十进制数,十六进制数和BCD码数之间的转换方法。 例 :(129)10( )2( )16 (10010111)BCD( )10( )22 。 真值数和补码数之间的转换方法 例 :字长8位,则-6补( ) 16,若X补E8H,则X的真值为( ) 163。 n位字长的有符号数、无符号数的数值范围 设设机器数字长=n位,则n位补码数,其真值范围为 2n-1 +2n-11位 无符号数其数值范围为 0 2n1 例 : 16位二进制数所能表示的无符号数范围是_。4。补码计算及并对结果进行分析,第一章第一章综合题:综合题:例例1: 用补码运算用补码运算1

2、9-96,并判断结果是否溢出并判断结果是否溢出?解解: 19-96补补= 19补补+ -96补补 19补= 00010011 -96补= 1010000019-96补=10110011根据根据X补补补补=X原原: 19-96原原=11001101B 所以所以19-96=-77 O标标=0,结果无溢出,结果无溢出 正确正确综合题:综合题:例例2: 用补码运算用补码运算-66-99,并判断结果是否溢出并判断结果是否溢出?解解: -66-99补补= -66补补+ -99补补 -66补= 10111110 -99补= 1001110166+99补= 01011011 6699= =+91 O标=1,结

3、果溢出错误 C P U 存储器 AB地址总线 DB数据总线 CB控制总线 二二一一存储器I/O接口I/O设备例:微处理器与I/O接口及存储器进行信息传送是通过三总线来完成,该三总线为 、 和地址总线。 第二章第二章1。微型机的硬件结构2。存贮单元和存贮器地址 .存储器由若干“存储单元”组成,每一单元存放一个“字节”的信息。 .系统为每一单元编排一个地址,地址码为二进制数,习惯上写成16进制。 .存储器容量由地址线“宽度”决定。例:1M容量的存储器地址范围:00000HFFFFFH 由20根地址线提供地址码。A18A19A03。存贮器读写操作过程 由地址译码电路对地址码进行“翻译”,从而“选中”

4、某一单元,在CPU的存储器读/写命令的控制下读出某一单元的内容数据线,或把数据线信息某存储单元。CPU数据线00000H00001HFFFFFHCPU地址线地址译码器读写控制电路存储器12345H存储器读/写命令 二二二二第三章第三章1。基本结构寄存器的名称、位长和作用。 (1)通用寄存器:EAX,EBX,ECX,EDX,ESI,EDI,EBP (2)段寄存器:CS,SS,DS,ES,FS,GS (3)指针寄存器:EIP,ESP (4)标志寄存器:EFLAG 15位标志分为两类:状态标志和控制标志 例:80486 CPU中的SP寄存器是一个_位的寄存器。 A. 8位 B. 16位 C. 24位

5、 D. 32位 第三章第三章2。80486的工作模式:实地址模式和保护虚拟地址模式。 80486的三个存贮地址空间:逻辑空间、线性空间和物理空间。在实模式下,486只能访问第一个1M内存(00000HFFFFFH) 逻辑空间=物理空间=1M(220)在保护模式下,486可以访问4G(232)物理存储空间(0000,0000HFFFF,FFFFH) 逻辑空间(虚拟空间)可达246=64T第三章第三章3。实地址模式下,物理地址的形成物理地址计算公式:物理地址=段基址*16+偏移地址 例:一个有16个字节的数据区,它的起始地址为4000:10FF,则这个数据区首字节的物理地址是 ,最后一个字节的物理

6、地址为 。第四章、第五章第四章、第五章2。80486的寻址方式486有3类7种寻址方式立即寻址方式:获得立即数寄存器寻址方式:获得寄存器操作数存储器寻址方式:获得存储器操作数(内存操作数) 1。源程序中的语句类型 一个完整的源程序应包含2类语句: 指令性语句(符号指令)、指示性语句(伪指令)内存寻址方式 16位寻址规定可使用的寄存器 (1) 直接寻址 (2)寄存器间接寻址 BX,BP,SI,DI 段寄存器:间址寄存器 某单元的物理地址=段寄存器内容16+间址寄存器 (3)基址寻址 BX,BP 段寄存器:基址寄存器+位移量 物理地址=段寄存器内容16+基址寄存器+位移量 (4)变址寻址 SI,D

7、I (5)基址+变址寻址例:指出下列指令源操作数的寻址方式: ADD AX,TABLE _ MOV AX,BX+SI+6 _ MOV DX,BX _ MOV DX,BX _ MOV AL,-1 _ 例:设BX=1200H,SI=0002H,DS=3000H,(31200H)=50H,(31201H)=02H,(31202H)=0F7H,(31203H)=90H。请写出下列各条指令单独执行后,有关寄存器及存储单元的内容。 1。DEC BYTE PTRSI H 指令执行后(31202H)=_H, 操作数的寻址方式为_。 2。 MOV AX,WORD PTRBXSI指令执行后, AX=_H,源操作数

8、的寻址方式为_。3。常用伪指令 (1)数据字义伪指令 DB DW DD (2)等值伪指令 EQU = 例:某程序中的数据定义如下: DAT1 DW 1234H,5678H,AB,CD,2 DAT2 DB 4 DUP(?) DAT3 DD ? CN EQU $-DAT1 请问CN的值是 . DA2+5字节单元的内容是_.4。 常用运算符 $运算符 SEG运算符 OFFSET运算符 PTR运算符例:数据段有: BUF DB 11,22,33,44 请修改下列指令 MOV AX,BUF INC BX 源、目操作数不可同为内存操作数 源、目操作数属性一致(长度相同) 当目标操作数为间址、变址、基址、基

9、+变址的内存操作数,而源操作数为单字节/双字节立即数,则目标操作数必须用PTR说明类型若操作数为间、变、基、基+变的内存操作数,则必须用PTR说明类型 对于单操作数指令(如:I NC,DEC) 对于双操作数指令(如:MOV,ADD,CMP)四五4 、80486基本指令集若操作数为间、变、基、基+变的内存操作数,则必须用PTR说明类型例:下列指令中,错误的指令条数为 。 INC BX MOV AL,DX MUL 100 MOV AX,DS:BP MOV BUF1,BUF2第一类、 传送类2. 堆栈操作指令 PUSH/POP第二类、算术运算1. 通用传送 MOV MOVSX/MOVZX LEA1.

10、基本四则运算 ADD ADC SUB SBC MUL IMUL DIV IDIV INC DEC NEG2.BCD调整 DAAH 数据进栈、出栈过程H 进栈、出栈的操作数只能16或32位H 被乘数 乘积 被除数 商 余数 如何默认 H 何时使用BCD码调整指令第四类第四类 逻辑运算逻辑运算 1.逻辑运算 NOT AND OR XOR 2.移位 SAL SAR SHL SHR RCL RCR ROL ROR 3.测试 TEST第三类第三类 转移和调用指令转移和调用指令1.无/有条件转移 JMP JC/JNC JZ/JNZ JS/JNS JP/JNP JO/JNO (无符号数比较)JA JNA J

11、NC JC (有符号数比较)JG JGE JL JLE 2.子程序/中断调用与返回 CALL/ RET INT n IRETH 转移和调用指令是如何改变CS和IP的值H 移位指令的移位次数只能是立即数或CL寄存器第五类第五类 串操作指令串操作指令 (REP) MOVSB(W/D) LODSB(W/D) (REP) STOSB(W/D) (REPE)/(REPNE) CMPSB(W/D) (REPE)/(REPNE) SCASB(W/D)第六类第六类 处理机控制指令处理机控制指令CLD/STDH 执行指令前应做那些准备工作?H 串比较指令、串搜索指令执行后Z标志的含义。例:下列指令中,错误的指令

12、条数为 。 INC BX MOV AL,DX MUL 100 MOV AX,DS:BP 例: 设SS2000H,SP2000H,AX3000H,BX4000H,执行 PUSH AX PUSH BX MOV BX,SP POP AX之后,SS= ,SP= ,AX= ,BX= 。 例: 设BUF开始的数据区中存放有10个大、小写字母,下面程序段完成的功能是什么? MOV CX,10 LEA BX,BUF K2: MOV AL,BX CMP AL,Z JNE K1 SUB AL,20H MOV BX,AL K1: INC BX LOOP K2 第六章 1。EXE文件和COM文件的编程格式的区别。2。

13、汇编语言从源程序的建立到运行可执行程序的主要步骤。3。DOS功能调用:01H,02H,09H,0AH BIOS键盘功能调用 00H,01H 屏幕功能调用 00H,0EH 4。 请简述宏指令与子程序的区别与联系。5。执行串操作指令REP MOVSB之前的准备工作有哪些?程序设计题程序设计题1.设数据段有8个有符号数: NUM DB 19,+28,37,-46,+55,61,-74,+255 设计一个程序找出真值最大的数,并以十六进制的形式显示。.486data segment use16buf db -19,+28,37,-46,+55,61,-74,+255mesg db MAX=,?,?,$

14、data endscode segment use16 assume cs:code,ds:databeg: mov ax,data mov ds,ax mov bx,offset buf mov cx,8 mov dl,-128 aga: cmp bx,dl jle next mov dl,bxnext: inc bx loop aga sal dx,8 mov bx,offset mesg+4 mov cx,2aga2: rol dx,4 and dl,0fh cmp dl,9 jna next2 add dl,7next2: add dl,30h mov bx,dl inc bx loo

15、p aga2 mov ah,9 mov dx,offset mesg int 21h mov ah,4ch int 21hcode endsend beg程序设计题程序设计题 2.某科室9人,月收入分别为720、500、830、1200、900、750、800、1100、810。设计一个程序统计月收入在800900间的人数,并以十进制数显示。.486data segment use16buf dw 720,500,830,12000,900,750,800,1100,810mesg db number=,?,0dh,0ah,$data endscode segment use16 assume

16、 cs:code,ds:databeg: mov ax,data mov ds,ax mov bx,offset buf mov cx,9 mov dl,0 aga: cmp word ptr bx,800 jc next cmp word ptr bx,900 ja next inc dl next: inc bx inc bx loop aga add dl,30h mov mesg+7,dl mov ah,9 mov dx,offset mesg int 21h mov ah,4ch int 21hcode endsend beg程序设计题程序设计题3通行字识别程序执行后,给出简单明了的操作提示 PASSWORD:,请用户键入“通行字”,按回车表示通行字键入结束。只有当用户键入的字符串和程序内定的字符串相同时,程序才能返回DOS,否则请用户重新键入“通行字”。.486data segment use16mesg db PASSWORD:,$pass db ABCDElen equ $-passbuf db 10,?,10 dup(?)data endscode segment use16 assume cs:code,ds:data,es:dat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论