华北科技学院微机原理编程题
微机原理试题及答案.docx

学年第学期微机原理及应用(A)课程试卷卷16班级姓名得分任课教师一、选择题: ( 每题 1.5 分,共 18 分)1、DMAC向 CPU发出请求信号, CPU响应并交出总线控制权后将() 。
反复执行空操作 , 直到 DMA操作结束进入暂停状态 ,直到DMA操作结束进入保持状态 ,直到DMA操作结束进入等待状态 ,直到DMA操作结束2、有一个实时数据采集系统,要求10ms 进行一次数据采集,然后进行数据处理及显示输出,应采用的数据传送方式为()。
无条件传送方式查询方式中断方式直接存储器存取方式3、在数据传送过程中,数据由串行变并行,或由并行变串行的转换可通过()来实现。
计数器寄存器移位寄存器 D 触发器4、8088 CPU输入 / 输出指令可寻址外设端口的数量最大可达()个。
12825616K64K5、CPU响应中断后,通过()完成断点的保护。
执行开中断指令执行关中断指令执行 PUSH指令内部自动操作6、并行接口芯片8255A具有双向数据传送功能的端口是()。
PA 口PB口PC 口控制口7、8088CPU处理动作的最小时间单位是()。
指令周期时钟周期机器周期总线周期8.堆栈是内存中()。
先进先出的 ROM区域后进先出的ROM区域先进先出的 RAM区域后进先出的RAM区域9、计算机中广泛应用的RS-232C实质上是一种()。
串行接口芯片串行通信规程(协议)串行通信接口标准系统总线标准5--110、高速缓冲存储器(CACHE)一般是由()芯片组成。
SRAM DRAM ROM EPROM11、鼠标器是一种()。
手持式的作图部件手持式的座标定位部件12、传送速度单位“ bps”的含义是(手持式的光学字符识别设备手持式扫描器)。
bytes per second bits per secondbaud per second billion bytes per second 二、填空题:(每空 1 分,共12 分)1、CPU 在响应中断后,自动关中。
804微机原理答案.doc

河南科技大学2009年攻读硕士学位研究生入学考试试题答案及评分标准科目代码:804 科目名称:微机原理一、单项选择题(每题2分,共20分)I. A 2. C 3. C 4. D 5. B6. C7. B8. A9. C 10. B二、填空题(每空1分,共25分)II.①特殊功能寄存器区或SFR区;②0;③812.① 213.① FFH14.①数据总线;②地址总线15.① ALE;② P016.①共阳级;②共阴极17.①5;②218.①ADD为普通加法指令,ADDC为带进位位加法指令。
19.① 0〜255;② 11111111B;③ 10000000B;④ 10000001B。
20.① 4;② P0;③ P2;④ P321.① 16;② 16;③ 8三、判断题:(正确打W错误打X,每题2分,共20分)22.V 23. X 24. 4 25. X 26. X27. V 28. V 29. V 30. X31. V四、简答题(每题5分,共20分)32.IE: 10011000B 或98H 或EA=1, ES=1, ET1=1 (3 分)IP: 00001000B 或08H 或PT1=1, PS = O (2 分)33.MCS-51单片机片内低128字节的数据存储器可分为3个区,其中00H-1FH为通用工作寄存器区,20H〜2FH为位寻址区,可以进行位操作,30H-7FH为数据缓冲区,可供用户使用,也可用于堆栈区的开辟。
(5分)34.8031单片机的中断源分别是外部中断0(INT0)、外部中断1 (INT1)、定时器/计数器0(T0)、定时器/计数器1 (T1)和串行中断。
(3分)其中INTO、INTI、TO、T1在响应中断时,标志位由硬件自动清除,串行中断的接收和发送标志位必须用软件清除。
(2分)35.因为访问外扩的程序存储器和数据存储器执行的指令不同,所发出的控制信号也就不同。
读外部数据存储器时,/RD信号有效;写外部数据存储器时,/WR信号有效。
微机原理习题及答案

微机原理习题及答案(总13页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--微机原理习题册第 1 章数制和码制1.将下列十进制数分别转换为二进制数(4)(1)147 (2)4095 (3)解:147=B 4095=B= =2. 将下列二进制数分别转换为十进制数(3)(1)(2).001B解:= .001B==3.将二进制数转换成十六进制数(1)B(2)11B(3)101B (4)0B(5)01111111B(6)0B 解:(1)95H(2)34BH(3)FFFDH(4)0815H(5)7FH(6)401H4.已知 a=1011B, b=11001B, c=100110B,按二进制完成下列运算,并用十进制运算检查计算结果:(1)a+b;(2)c-a-b;(3)a·b;(4)c/b;解:a=1011B=11, b=11001B=25, c=100110B=38(1)a+b=100100B=36 (2)c-a-b=10B=2(3)a·b=1B=275 (4)c/b=1……1101B(=13)5.设机器字长为 8 位,写出下列各数的原码和补码:(1)+1010101B (2)-1010101B (3)+1111111B (4)-1111111B (5)+1000000B (6)-1000000B 解:(1)+1010101B 原码01010101B 补码 01010101B(2)-1010101B 原码 B 补码 B(3)+1111111B 原码 01111111B 补码 01111111B(4)-1111111B 原码 B 补码 B(5)+1000000B 原码 01000000B 补码 01000000B(6)-1000000B 原码 B 补码 B6.已知 a=00111000B,b=B,计算下列逻辑运算:(1)a ANDb;(2)a OR b;(3)a XOR b;(4)NOT a;解:(1)00000000B(2)1B(3)1B(4)B7.求下列组合 BCD 数的二进制和十六进制表示形式:()(1)3251;(2)12907;(3)2006 解:(1)0011 0010 0101 0001B,3251H(2)0001 0010 1001 0000 0111 B , 12907H(3)0010 0000 0000 0110B , 2006H8.设下列四组为 8 位二进制补码表示的十六进制数,计算 a+b 和 a-b,并判定其结果是否溢出:(1)a=37H,b=57H;(2)a=0B7H,b=0D7H;(3)a=0F7H ,b=0D7H ;(4)a=37H ,b=0C7H 。
微机原理编程题集合汇总

微机原理编程题1. 分支程序设计①.编写一段程序,已知BUF1单元中有一带符号字节数据X,BUF2中有一带符号字节数据Y,根据以下函数关系编写程序求Z的值,结果存入RESULT 单元。
Z=|X-Y|;DATA SEGMENTBUF1 DB 05HBUF2 DB 02HRESULT DB?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AL,BUF1MOV BL,BUF2SUB AL,BLJNC GREATNEG ALGREAT:MOV RESULT,ALEXIT: MOV AH,4CHINT 21HCODE ENDSEND START②.编写一段程序,已知BUF单元中有一无符号字节数据X,假设为8,根据以下函数关系编写程序求Y的值,结果存入RESULT 单元。
Z=5X X<10,X-5 X>=10;DATA SEGMENTBUF DB 8RESULT DB?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AL,BUFCMP AL,10JAE GREMOV BL,ALADD AL,ALADD AL,ALADD AL,BLJMP DONEGRE: SUB AL,5DONE: MOV RESULT,ALMOV AH,4CHINT 21HCODE ENDSEND START③.在内存单元BUF中存放一个带符号字节数据X,假定为-2,试根据以下函数关系编写程序求Y的值,结果存入RESULT 单元。
Y=1 X>0,0 X=0,-1 X<0;DATA SEGMENTBUF DB-2RESULT DB?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AL,BUFCMP AL,0JGE L1MOV AL,-1JMP L3L1:JZ L2MOV AL,1JMP L3L2:MOV AL,0L3:MOV RESULT,ALMOV AH,4CHINT 21HCODE ENDSEND START2. N个数中求最大值、最小值.假定N=10,已知原始数据存放在BUF开始的内存单元中,将结果存入MAX,MIN内存单元中。
2022年华北科技学院公共课《C语言》科目期末试卷B(有答案)

2022年华北科技学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。
2、结构化程序由________、________ 、________ 3种基本结构组成。
3、C语言的源程序必须通过【】和【】后,才能被计算机执行。
4、若a、b和c均是int型变量,则执行表达式a=(b=4)+(c=2)后a的值为_______,b的值为_______,c的值为_______。
5、假设变量a、b均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为_______。
6、设x是一个整数(16bit),若要通过xly使x低8位置1,高8位不变,则y的八进制数是_______。
7、函数swap(int x,inty)可完成对x和y值的交换。
在运行调用函数中的如下语句后,a[0]和a[1]的值分别为_______,原因是_______。
a[o]=1;a[1]=2;swap(a[o],a[1]);8、下面程序段的运行结果是_______。
char ch[]="600";int a,s=0;for(a=0;ch[a]>= '0'&&ch[a]<='9';a++)s=10*s+ch[a]-'o';printf("%d",s);9、设有宏定义如下:#define MIN(x,y)(x)>(y)?(x):(y)#define T(x,y,r)x*r*y/4则执行以下语句后,s1的值为_______,s2的值为_______。
int a=1,b=3,c=5,s1,s2;s1=MIN(a=b,b-a);s2=T(a++,a*++b,a+b+c);10、下面程序段的运行结果是_______。
《微型计算机原理》试题库及答案.doc

《微型计算机原理》试题库及答案一、填空1.数制转换A) 125D二(11111101 ) B = ( 375 ) 0= ( 0FD ) H二(0001 0010 0101 )BCDB) 10110110B= ( 182 ) D 二(266 ) 0二(0B6 ) H= (0001 1000 0010 )BCD2.下述机器数形式可表示的数值范围是(请用十进制形式写出):单字节无符号整数055;单字节有符号整数-128~+127。
注:微型计算机的有符号整数机器码采用补码表示,单字节有符号整数的范围为-128~+127。
3.完成下列各式补码式的运算,并根据计算结果设置标志位SF、ZF、CF、0F o指出运算结果冇效否。
A)00101101+10011100=B)11011101+10110011二4.十六进制数2B. 4H转换为二进制数是00101011.0100,转换为十进制数是43.25 。
5•在浮点加法运算中,在尾数求和之前,一•般需耍(对阶)操作,求和之后还需耍进行(规格化)和舍入等步骤。
6•三态门有三种输出状态:高电平、低电平、(高阻)状态。
7.字符的ASCII码为41H,因而字符“E”的ASCII码为(45H),前面加上偶校验位后代码为(C5) Ho8•数在计算机中的二进制表示形式称为(机器数)。
9.在计算机中,无符号书最常用于表示(地址)。
10.正数的反码与原码(相等)。
11 •在计算机中浮点数的表示形式冇(阶码)和(尾码)两部分组成。
12.微处理器中对每个字所包含的二进制位数叫(字长)。
13.MISP是微处理的主要指标Z-,它表示微处理器在1秒钟内可执行多少(百万条指令)14.PC机主存储器状基本存储单元的长度是(字节).15•—台计算机所用的二进制代码的位数称为字长,8位二进制数称为字节。
16•微型计算机由(微处理器)、(存储器)和(I/O接口电路)组成。
17.8086CPU寄存器中负责与I/O端口交换数据的寄存器为(AX, AL)18•总线有数据总线、地址总线、控制总线组成,数据总线是从微处理器向内存储器、I/O接口传送数据的通路;反之,它也是从内存储器、I/O接口向微处理器传送数据的通路,因而它可以在两个方向上往返传送数据,称为(双向总线)。
北理(bit)微机原理上机软件实验报告
北理(bit)微机原理上机软件实验报告微机原理软件编程实验报告班级:学号:姓名:⼀、实验题⽬1、IDE86集成开发环境的学习和运⽤2、编写程序求出10个数中的最⼤值和最⼩值,并以单步形式观察如何求出最⼤值、最⼩值。
3、求1到100 的累加和,并⽤⼗进制形式将结果显⽰在屏幕上。
要求实现数据显⽰,并返回DOS状态。
4、将存储器中的⼗个字节型⼗六进制有符号数按从⼩到⼤的顺序排序并按⼗六进制显⽰出来。
(56H、0ffH、78H、82H、12H、0、95H、58H、0bcH、34H)⼆、实验⽬的1、学习并掌握IDE86集成开发环境的使⽤包括编辑、编译、链接、调试与运⾏等步骤编辑:源程序的输⼊、修改。
编译:常见编译出现的语法错误的修改。
可执⾏⽂件。
运⾏:运⾏、断点设置、单步运⾏、单步跟踪;观察寄存器、标志寄存器值;观察数据存储器中的数据。
2、完成所有题⽬,提⾼编程能⼒,加深对理论课的理解。
三、实验内容1、⽂字叙述设计思路1.1编写程序求出10个数中的最⼤值和最⼩值由于⼀共有⼗个数,所以求其最⼤数或者最⼩数需要⽐较9次。
从数据段的段⾸开取数,先取两个数进⾏⽐较,⽐较完后取其中的最⼤数或者最⼩数放⼊数据段的第⼆位中。
再取第三位数与第⼆位数⽐较,如此循环,⽐较9次后在数据段最末位的就是我们需要的数。
1.2求1到100 的累加和,并⽤⼗进制形式将结果显⽰在屏幕上求和部分:1~100⼀共有100个数,所以需要做100次加法。
做加法要有两个数,第⼀个数是第i位的数值,第⼆个数是i-1位以及之前所有数的和,所以这两个数必须分别存放在两个寄存器⾥,并且两个数相加之后的所得的值,必须放在存放“和”的寄存器中,另外⼀个寄存器每做完⼀次加法⾃加1。
显⽰部分:我们所求得的最终数值在内存中是以16进制数存放的,但是由于结果只是⼀个数,我们可以把它的每⼀位所对应的ASCII码按照⼀定的顺序存放到⼀个数据段中,再以字符串形式直接输出。
1.3将存储器中的⼗个字节型⼗六进制有符号数按从⼩到⼤的顺序排序并按⼗六进制显⽰出来⽐较部分:题⽬⼀共给了我们10个数,如果要进⾏排序的话可以先把⼗个数中最⼤的数选出来,放到数据段的最后⼀个位置,接着再选出次⼤的数放到数据段的倒数第⼆位,如此循环到最后便可成功将所给的⼗个数排序好。
科院微机课后习题解答
第二章2.5 1M=220 因为最小的一个段的大小为16个字节(一个小段),所以最多有220/24=216(1) 0FFFFH:0 物理地址为 0FFFF0H(2) 40H:17H 物理地址为 400H+17H=417H(3) 2000H:4500H 物理地址为200000H+4500H=24500H(4) 0B821H:4567H 物理地址为 0B8210H+4567H=0BC777H2.9 (1) CX 16位 DL 8位 操作数宽度不一样(类型不一致)(2) IP 不能作为源操作数,也不能作为目的操作数(3) 立即数不能直接赋给段寄存器(4) 段寄存器间不能直接赋值(5) 类型不一致,立即数300超过8位,不能赋给8位寄存器AL(6) 寄存器间接寻址方式不能使用sp 寄存器(7)+作为算术运算符,它的操作数为常量(8)20h 为立即数不能作为目的操作数2.11code segmentassume cs:codestart:mov al,89h mov 指令不影响标志位add al,al分析,这里89h 看成无符号数化为10进制为137, 执行add al,al 后,al 的内容为 21203h 20100h 20101h 20102h 20103h 21201h 21201h 21202h89h+89h=112h(即274d>255d),于是若看成无符号数有进位产生, CF =1 ,看成有符号数则有溢出,因为89h=1000 1001b是一个负数这里89h是补码,对应的反码为1000 1000b 对应的原码为1111 0111b化成10进制数为-119, -119+(-119)=-238<-128(在-128到127这个范围之外了)所以有溢出. OF=1(al)=12h. 因为运算结果不为0,所以ZF=0,因为(al)=12h=0001 0010 b, 最高位为0,所以SF=0, 0001 0010 b中有2个1,所以PF=1.add al,9dh12h+9dh=0afh,于是若看成无符号数无进位产生, CF =012h对应的10进制数为18d,9dh对应的二进制为1001 1101b 这个是补码,对应的反码为1001 1100b对应的原码为1110 0011b即-99d 18+(-99)= - 81 d(在-128到127这个范围之内了)所以没有溢出. OF=0注:-81d的补码就是0afh因为运算结果不为0,所以ZF=0,因为(al)=0afh=1010 1111 b, 最高位为1,所以SF=1, 1010 1111 b中有6个1,所以PF=1.cmp al,0bch(注意:这里的减法只是为了cmp用来比较,在计算机内部算一下,并没有把减法的结果赋给al)cmp通过减法运算修改标志位把0afh和0bch看成无符号数,0afh小于0bch,所以还有借位,这样, CF=1把0afh和0bch看成无符号数,0afh对应的10进制数为-81d0bch对应的10进制数为-68d(-81d)-(-68d)=-13d 运算结果在-128d到127d之间,所以没有溢出,这样OF=0因为运算结果不为0,所以ZF=0,因为(al)=0f3h=1111 0011 b, 最高位为1,所以SF=1, 1111 0011 b中有6个1,所以PF=1.sub al,alsub al,al后(al)=0 OF=0 CF=0 ZF=1 SF=0 PF=1 (因为0或偶数个1时,PF=1)dec al看作无符号数时: 因为0h小于1h,所以还有借位,但是在设计DEC和INC指令的时候,不影响标志位CF,所以CF=0(如果改成sub al,1,则CF=1)因为0 -1=-1运算结果在-128到127之间,所以没有溢出,所以OF=0因为运算结果不为0,所以ZF=0,因为(al)=0ffh=1111 1111 b, 最高位为1,所以SF=1, 1111 1111 b中有8个1,所以PF=1.inc al因为ffh加1h,为00h,且有进位,但是在设计DEC和INC指令的时候,不影响标志位CF,所以CF=0(如果改成add al,1,则CF=1)因为-1+1=0,运算结果在-128到127之间,所以没有溢出,所以OF=0因为运算结果为0,所以ZF=1,因为(al)=0h=0000 0000 b, 最高位为0,所以SF=0, 0000 0000 b中有0个1,所以PF=1.用inc al的情况CF=0用add al,1的情况,CF=12.12 (1) ADD DX, BX(2) ADD AL,BYTE PTR [BX+SI] 或ADD AL,BYTE PTR [BX][SI](3) ADD [BX+0B2H],CX(4)ADD WORD PTR [0520H],3412H(5)ADD AL,0A0H2.16(1)1256H (2)20A1H+1256H+20000H=232F7H又[232F7H]=3280H所以EA=3280H 2.17(1)当AX=1E1EH时(2)当AX的D7和D0位不同时为0时(3)无符号数cx<64H时3.9 (1) 67h (2) 133h (3) 230h (4)41h (5)7654H3.11(1) my1b db 'Personal Computer'(2) my2b db 20(3) my3b db 14h(4)my4b db 00010100B(5) my5w dw 20 dup (?)(6) my6c equ 100(7)my7c = 'Personal Computer'3.14100h 109h 10ah 113h114hAX=114HAX=6AX=13HAX=03H3.15(1) mov byte ptr [bx],1000 因为1000>255 一个字节放不下(2) mov bx,offset myword[si]data segmentmybyte1 db 12hmybyte2 db 34hmyword dw 5678hdata endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov si,0;mov bx,offset word ptr myword[bx]lea bx, offset word ptr myword[si] 对mov ah,4chint 21hcode endsend start理由:myword是一个字变量;错在offset, myword是个变量,而[si]是寄存器间接寻址;而offset只能对静态地址有效.应改为:lea bx,myword[si].(3)操作数不能同时为内存变量(4)al+1不能写,+的两边必须是常量(5) al是字节,myword是字,类型不一致(6)myword 不是一个标号。
2022年华北科技学院计算机科学与技术专业《计算机组成原理》科目期末试卷B(有答案)
2022年华北科技学院计算机科学与技术专业《计算机组成原理》科目期末试卷B(有答案)一、选择题1、下列存储器中,在工作期间需要周期性刷新的是()。
A. SRAMB. SDRAMC.ROMD. FLASH2、某计算机使用4体交叉编址存储器,假定在存储器总线上出现的主存地址(十进制)序列为8005,8006,8007,8008,8001,8002,8003,8004,8000,则可能发生访存冲突的地址对是()。
A.8004和8008B.8002和8007C.8001和8008D.8000和80043、对于相同位数(设为N位,且各包含1位符号位)的二进制补码小数和十进制小数,(二进制小数所表示的数的个数)/(十进制小数所能表示的数的个数)为()。
A.(0.2)NB. (0.2)N-1C. (0.02)ND. (0.02)N-14、为了表示无符号十进制整数,下列哪些是合法的8421BCD码?()I.01111001 Ⅱ.11010110 Ⅲ.00001100 Ⅳ.1000010lA.I、IⅡB.Ⅱ、ⅢC.I、ⅣD.I、Ⅱ、Ⅲ5、某字长为8位的计算机中,已知整型变量x、y的机器数分别为[x]补=11110100,[y] 补=l0110000。
若整型变量z=2x+y/2,则z的机器数为()。
A.11000000 B.00100100 C.10101010 D.溢出6、在下面描述的PCI总线的基本概念中,不正确的表述是()。
A.PCI总线支持即插即用B.PCI总线可对传输信息进行奇偶校验C.系统中允许有多条PCI总线D.PCI设备一定是主设备7、中断判优逻辑和总线仲裁方式相类似,下列说法中,正确的是()。
I.在总线仲裁方式中,独立请求方式响应时间最快,是以增加处理器开销和增加控制线数为代价的II.在总线仲裁方式中计数器查询方式,若每次计数都从“0”开始,则所有设备使用总线的优先级相等III.总线仲裁方式一般是指I/O设备争用总线的判优方式,而中断判优方式一般是指I/O设备争用CPU的判优方式IV.中断判优逻辑既可以通过硬件实现,也可以通过软件实现,A. I,IIB. I,III,IVC. I,II,IVD.I,IV8、只有当程序要执行时,它才会去将源程序翻译成机器语言,而且一次只能读取、翻译并执行源程序中的一行语句,此程序称为()。
华北科技学院微机原理期末复习重点
第3章 习题 P99 3.7
(1)当前栈顶地址 = SS*10H+SP=2FF00H (2)执行PUSH BX后: 栈顶地址 = 2FF00H -2H =2FEFEH 物理地址为2FEFE的存储单元内容为 57H 物理地址为2FEFF的存储单元内容为 34H
反码([X]反):
X>0,[X]反=[X]原 X<0,[X]反=对应原码符号位不变,数值部分按位求反 补码([X]补): X>0,[X]补= [X]反= [X]原 X<0,[X]补= [X]反+1
• 第1章 习题 P17~18
1.3 把下列十进制数分别转换为二进制数和十六进制数 (1)125.625 = 1111101.101B = 7D.AH 1.4把下列二进制数分别转换为十进制数和十六进制数 (1)11110000.101 = F0.AH = 240.625D
第1~5章 重点掌握内容
第1章 重点掌握内容
1 数制 2 原码、反码、补码
1 数制
整数:除基取余 逆序排列 小数:乘基取整 顺序排列
二进制
十进制
按位权展开 后相加求和
八进制
十六进制
2 原码、反码、补码
对一个真值X: 原码([X]原): 最高位为符号位,用“0”表示正,用“1”表示负; 不论X正负,数值部分都为X的绝对值。
1.5把下列十六进制数分别转换为十进制数和二进制数
(2)ABCD.A8 = 3031.65625D = 1010101111001101.10101B
1.7 试实现下列转换 (1)[x]原 = 10111110,求[x]补
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 第六章作业
2 第九章作业(8255A):
作业提示在课件第29、30页,答案在“第九章作业答案.doc”中
作业9-5答案
code segment
assume cs:code
start: mov al,10000 010B ; 控制字82H
out 83h,al
again: in al,81h ;读B端口数据
and al,03h ;屏蔽高6位
cmp al,02h
jz s0 ;s0按下跳转
cmp al,01h
jz s1 ;s1按下跳转
cmp al,00h
jz exit ;s0,s1同时按下跳转
jmp again
s0: mov al,3fh
out 80h,al ;A口输出‘0’
jmp again
s1: mov al,06h
out 80h,al ;A口输出‘1’
jmp again
exit: mov ah,4ch
int 21h
code ends
end start
code segment
assume cs:code
start: mov al,10000 010B ; 控制字82H out 83h,al
again: in al,81h ;读B端口数据
test al,03h ;al的最后两位若为00,则跳转
jz exit
test al,01h ;al的最后两位若为10,则跳转
jz s0
test al,02h ;al的最后两位若为01,则跳转jz s1
jmp again ;al的最后两位为11
s0: mov al,3fh
out 80h,al ;A口输出‘0’
jmp again
s1: mov al,06h
out 80h,al ;A口输出‘1’
jmp again
exit: mov ah,4ch
int 21h
code ends
end start
3 第九章习题(8253):
课件第21~23页的习题例1和例2
4 中断编程题不考
可能改变参数,但基本逻辑不变。