《微机原理习题复习1ppt课件.ppt》由会员分享,可在线阅读,更多相关《微机原理习题复习1ppt课件.ppt(35页珍藏版)》请在人人文库网上搜索。
1、习题复习,NEG提示,NEG指令 指令格式:NEG OP 该指令完成对操作数取补,即用零减去操作数,再把结果送回操作数。用法例子如下: NEG AL ;操作数为寄存器 NEG MAXX ;操作数为存储器 该指令执行结果影响标志位SF、ZF、AF、PF和OF,对于CF一般总是CF1,只有当操作数为0时CF0。 11111001B (=F9H=-7)取补为 00000111B(=07H=7) 在这里也叫“取负”,1,回顾补码的定义,补码 补码是计算机中带符号数的实用表示方法。规定如下: 正数的补码与原码和反码是一样的。 负数的补码可由其反码的末位加1。即负数的补码是对其原码除符号位外各数值位求反并。
2、在末位加1而得到的,2,定点补码加减法的运算规则, 操作数均为补码表示; 符号位一起参加运算; 加法:做X补+Y补; 减法:做X补+Y补; 运算过程中,符号位向前的进位为模,舍弃; 运算结果仍为补码。,3,为什么要用补码?,0,255,0,127,-128,0000 0000B,1111 1111B,01111 1111B,1000 0000B,1000 0001B (-127),1000 0010B (-126),0000 0000B,1111 1111B (-1),0000 0000B (0),补码序列,0111 1111B,用128位置表示-128,他们之间 相差256个单位,即整个坐标。
3、轴上的 数减256便是它要表示的数(负数) 对于8位二进制便是00H(有一个进位),原码为:1000 0000 0111 1111,1000 0000B,4,补码实现减法用加法实现,补码=256-原码 对于8位二进制256减一个数就相当于对这个数取反加一 对于补码直接运行加法运算(进位舍去) 这就是取补码的原因?,5,取反操作,XOR AX,0FFFFH;与1相同的1变为0,而与1相异的0变为1,同样达到取反的目的。 NOT AX,6,一个输入输出 程序分析,name test org 100h ; print a message: mov dx, offset msg mov ah, 9 i。
4、nt 21h,7,等待键入 键入ASCII存AL寄存器,wait_for_key: mov ah, 1 int 16h jz wait_for_key mov ah, 0 int 16h,8,cmp al,30H jb wait_for_key cmpal,39h jawait_for_key ;不是数字返回重新等待输入 ;下面显示数字字符 mov ah, 0eh int 10h,9,mov dx, offset msg1 mov ah, 9 int 21h;显示提示字符串 mov dx, offset Ascnumber mov ah, 9 int 21h;显示$结束的字符串,10,DVCC。
5、系统,11,DVCC系统硬件布局,12,定时/计数器8253A应用目的,学习8253A可编程定时/计数器与8088CPU的接口方法; 了解8253A的工作方式; 掌握8253A在各种方式下的编程方法。,13,定时/计数器8253A应用内容,一、 实验内容 本实验原理图如图310所示,8253A的A0、A1接系统地址总线A0、A1,故8253A 有四个端口地址,端口地址如表32所示。8253A的片选地址为40H 4FH。 因此, 本实验仪中的8253A四个端口地址为40H、41H、42H、43H,分别对应通道0、通道1、通道2和控制字。采用8253A通道0,工作在方式3(方波发生器方式),输入时。
6、钟CLK0 为1MHZ, 输出OUTO 要求为1KHZ的方波,并要求用接在GATE0引脚上的导线是接地(“0”电平)或甩空(“1”电平)来观察GATE对计数器的控制作用,用示波器观察输出波形。 二、 实验线路连接 (1)8253的GATE0接+5V。 (2)8253的CLK0插孔接分频器74LS393(左上方)的T4插孔,分频器的频率源为4MHZ。 三、 实验步骤 1、 按图310连好实验线路 2、 运行实验程序 (1)联机时,实验程序文件名为DVCCH8EXEH85S.EXE。 (2)单机时,实验程序起始地址为F000:9180。 在系统显示监控提示符“P.”时: 输入F000 按F1键 输。
7、入9180 按EXEC键 3、 用示波器测量8253左侧OUT0插孔,应有方波输出。,14,实验原理图,15,CODE SEGMENT ASSUME CS:CODE ORG 1180H START:JMP TCONT TCONTRO EQU 0043H TCON0EQU 0040H TCONT:MOV DX,TCONTRO MOV AL,36H OUT DX,AL MOV DX,TCON0 MOV AL,00H OUT DX,AL MOV AL,10H OUT DX,AL JMP $ CODE ENDS END START,16,Winhex软件编辑H85S.OBJ文件,红线标注机器码区,蓝线。
8、表明起始地址。,17,程序编译,C:DVCCH8ASM 目录中.lst文件用笔记本打开,18,含有机器码的列表文件,19,.lst文件清单,0000CODE SEGMENT ASSUME CS:CODE 1180ORG 1180H 1180 EB 01 90START:JMP TCONT = 0043TCONTRO EQU 0043H = 0040TCON0EQU 0040H 1183 BA 0043TCONT:MOV DX,TCONTRO 1186 B0 36MOV AL,36H 1188 EEOUT DX,AL 1189 BA 0040MOV DX,TCON0 118C B0 00MOV 。
9、AL,00H 118E EEOUT DX,AL 118F B0 10MOV AL,10H 1191 EEOUT DX,AL 1192 EB FEJMP $ 1194CODE ENDS END START,20,8259源程序,CODE SEGMENT ASSUME CS:CODE INTPORT1 EQU 0060H INTPORT2 EQU 0061H INTQ3 EQU INTREEUP3 INTQ7 EQU INTREEUP7,21,ORG 11A0H START:CLD CALL WBUF1 CALL WRINTVER ;WRITE INTRRUPT MOV AL,13H MOV DX。
10、,INTPORT1 OUT DX,AL MOV AL,08H MOV DX,INTPORT2,22,OUT DX,AL MOV AL,09H OUT DX,AL MOV AL,0F7H OUT DX,AL MOV BYTE PTR DS:0701H,01H;TIME=1 STI,23,WATING: CALL DISP ;DISP 8259-1 JMP WATING WRINTVER:MOV AX,0H MOV ES,AX MOV DI,002CH LEA AX,INTQ3 STOSW,24,MOV AX,0000h STOSW MOV DI,003CH LEA AX,INTQ7 STOSW 。
11、MOV AX,0000h STOSW RET,25,INTREEUP3:CLI MOV AL,DS:0701H CALL CONVERS MOV BX,077BH MOV AL,10H MOV CX,05H INTRE0: MOV BYTE PTR DS:BX,AL INC BX LOOP INTRE0,26,MOV AL,20H MOV DX,INTPORT1 OUT DX,AL ADD BYTE PTR DS:0701H,01H CMP BYTE PTR DS:0701H,06H JNA INTRE2 MOV DS:077AH,191AH MOV DS:077CH,1819H mov DS。
12、:077Eh,1010H,27,INTRE1: CALL DISP JMP INTRE1 CONVERS: AND AL,0FH MOV BX,077AH MOV DS:BX,AL INC BX RET,28,INTRE2: MOV AL,20H MOV DX,INTPORT1 OUT DX,AL STI IRET,29,INTREEUP7: CLI MOV AL,20H MOV DX,INTPORT1 OUT DX,AL MOV DS:077AH,1C1CH MOV DS:077CH,101BH mov DS:077Eh,1010H INTRE3: CALL DISP JMP INTRE3,。
13、30,disp: mov dx,077Fh mov ah,20h disp0: mov cx,00ffh mov bx,dx mov bl,ds:bx mov bh,0h push dx mov dx,0ff22h mov al,cs:bx+127bh OUT DX,AL,31,mov dx,0ff21h mov al,ah OUT DX,AL disp1: loop disp1 pop dx dec dx shr ah,01h jnz disp0,32,mov dx,0ff22h mov al,0FFH OUT DX,AL ret data1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h db 80h,90h,88h,83h,0c6h,0a1h,86h,8eh db 0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh db 90h,0a3h,0a1h,86h,8fh,33,8259,WBUF1:MOV BX,0 MOV WORD PTR DS:BX+077AH,1701H ADD BX,2 MOV WORD PTR DS:BX+077AH,0509H ADD BX,2 MOV WORD PTR DS:BX+077AH,0802H RET CODE ENDS END START,34,35。