




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、13年1月试卷一、填空题(16分,每小题2分)1. 若X=-35H,Y=70H,则X反=11011100,X-Y补=10100101。2. 8086地址总线中的AD0AD15(低15位)位与数据总线公用。使用总线周期控制信号来锁存地址信号。3.8086的标志寄存器中有6个控制标志位和3个状态标志位。4. 执行指令“JG DST”时,需判断标志位SF、OF、ZF的内容。5. 中断向量表的地址范围是00000H03FFFH(物理地址),中断类型码为35H的中断向量所占用的物理地址是000D4H000D7H。6.8253的6种工作方式中,有2种能够自动重装计数初值,有2种是采用硬件方式启动计数过程。
2、7. 一直8255的端口地址为40H43H,则“OUT 43H,08H”所执行的操作是将C端口的PC4置0。8. 某内存地址范围是A0000HC7FFFH,其存储容量为160Kbyte,需要20片8K×8位的内存芯片才能构成该存储区。二、计算器1. 某堆栈区地址为2000H:0000H2000H:0100H,SP=0080H,计算:1)栈顶的物理地址为20080H,栈底的物理地址为20000H。2)执行“RET”指令(段间调用)后,栈顶的物理地址为20084H。2.MOV SI,0100HMOV AL,08HMOV CX,35HL1:MOV SI,ALDEC ALINC SILOOP
3、 L1运行结果:AL=D3,SI=0135H,(DS:0105H)=03H3. MOV AX,6587HMOV BX,3412HNEG BXCBWIDIV BH执行结果:AX=F702H,BX=CBEEH。4. 根据数据定义给出结果DATA SEGMENTD1 DB 1,2,3,4,5 DUP(0),67,89D2 DB This is a computer, 0DH,0AHCNT EQU $-D1LEA BX,D2MOV AX,SIZE D1CNT=26,BX=7,AX=7。三、程序设计编写完整的汇编程序,并使用三个子程序分别实现以下功能:1)从键盘输入一个32位(双字)的16进制无符号数,
4、存储在变量NUM1中;2)将NUM1与16位数NUM2相乘,乘积存储在变量NUM3中;3)统计NUM3中16进制数字“0”的个数,并显示输出。答:我觉得2)太难了,应该不会考,从周明德的书上看到一道差不多的写了两大篇儿DATA SEGMENTNUM1 DD ?NUM2 DB 1AHNUM3 DD ?DATA ENDSSTACK SEGMENTSTA DB 100 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME DS:DATA, CS:CODE, SS:STACK, ES:STACKSTART:MOV AX, DATAMOV DS, AX
5、MOV ES, AXMOV AX, STACKMOV SS, AXMOV SP, TOPMOV SI, OFFSET NUM1MOV BX, OFFSET NUM2MOV DI, OFFSET NUM3;初始化MOV CX, 04H;设定输入数字时循环的次数CALL ENTN;调用输入数字子程序CALL MULT;调用乘法子程序MOV SI, OFFSET NUM3MOV CX, 04HCALL DISPLAY;调用输出子程序MOV AH, 4CHINT 21H;输入子程序ENTN PROC NEARCLDADD SI, CX;从最高位开始输入LOP:MOV AH, 1INT 21H;高位输入
6、CMP AL, 40H;判断是09还是AFJA NEXT;若字母,则跳SUB AL, 30H;减去30H转为16进制JMP FINISHNEXT:SUB AL,31H;若为字母则减去31H转为16进制FINISH:MOV BH, AL;暂存至BHMOV AH, 1INT 21H;低位输入CMP AL, 40H;判断是09还是AFJA NEXT;若字母,则跳SUB AL, 30H;减去30H转为16进制JMP FINISHNEXT:SUB AL,31H;若为字母则减去31H转为16进制FINISH:MOV BL, AL;暂存至BLMOV SI, BX;将BX移至NUM1DEC SI;偏移地址-1
7、LOOP LOPRETENTN ENDP;统计“0”的个数并输出子程序DISPLAY PROC NEARMOV BL, 0;存在BL中AGAIN: MOV AX, SI;取NUM3放在AX中TEST AL, 0FFH;低八位判0JNZ NEXT1INC BLNEXT1:TEST AH, 0FFH;高八位判0JNZ NEXT2INC BLNEXT2:INC SILOOP AGAINADD BL, 30H;将BL转换为ASCII(小于等于8)MOV DL, ALMOV AH, 02HINT 21H;屏幕显示RETDISPLAY ENDPCODE ENDSEND START四、可编程接口芯片的应用技
8、术8253的CLK0输入脉冲F=1MHz,8255的A口连接OUT1和按键,8255的B口接8个LED。要求:1. 依据接线图写出8255 的A口、B口、C口及控制寄存器的端口地址,8253的计数器CNT0,CNT1,CNT2及控制寄存器的端口地址。2. 当PA0的按键按下,使B口的“LED0”点亮1秒后熄灭,下一次按键使“LED0”点亮0.5秒后熄灭,按以下顺序反复循环:“LED0”,“LED1”,“LED7”,“LED0”,“LED1”,如键盘有输入就结束循环并退出。试编写完整的汇编程序。答:1. 8255:034CH034FH;8253:0344H0347H。2. 我没看懂题,就都按亮1
9、秒写了= =DATA SEGMENTMES DB ENTER ANY KEY EXIT TO DOS, 0DH, 0AH, $DATA ENDSSTACK SEGMENTSTA DW 100 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACKSTART:MOV AX, DATAMOV DS, AXMOV AX, STACKMOV SS, AXMOV SP, TOPMOV DX, OFFSET MESMOV AH, 09HINT 21HMOV DX, 034FHMOV AL, 90HOUT
10、 DX, ALLOOPA:MOV DX, 034CHIN AL, DXNOT AX13年5月重修试卷一、填空题1. 若X=35H,Y=F7H,则X+Y= 。看不清原反补,反正会= =2. 8086/8088汇编语言中,操作数具有 , 和 三种属性。没找到什么属性,倒是分立即数、寄存器、存储器三种类型3. 8086/8088的CPU有6个状态标识位和3个控制标志位。4. 要把AL的D2D5位置1,其他位保持不变,应使用的指令是:OR AL,3CH。5. 将不带符号数进行比较是,应根据标志位ZF和CF来判断比较的结果。6. 若某外部中断的类型码为1FH,则该中断向量(在中断向量表中)的物理地址是0
11、007CH00080H。7.一片中断控制器8259A可以管理 8级外部中断,两片8259A通过主从方式可以管理15级外部中断。(这题蒙的)8. 某RAM芯片的存储容量是16K×8bit,则该芯片有8根数据线和14根地址线。二、计算题1. 已知各寄存器内容,确定下列指令中存储器操作数的物理地址。DS=4000H SS=6000H BX=1000H BP=2000H DI=3000H1)MOV AX, 1234H41234H2)MOV AX, BX41000H3)MOV AX, 5678HBP67678H4)MOV AX, 1000HBXDI45000H5)MOV AX, BPDI650
12、00H2. MOV AX, 6789HMOV BX, ABCDHNOT BXDIV BL执行结果:AX=6789H,BX=5432H(我算商大于FF,产生中断?)3. MOV AX, 1234HMOV BX, 5678HSUB AX, BXHLT执行后各标志位状态分别为:CF=1,SF=1,ZF=0,OF=0,PF=0。4. 根据数据定义给出结果:DATA SEGMENTD1 DW 230BH, 1, 2, 3, 4, 4DUP(0)D2 DB ABCD, 0ABHCNT EQU $-D1CNT=15LEA BX, D2BX=10MOV AX, TYPE D1AX=2三、程序设计1. 数组BU
13、F1中存放着100个字节的用原码表示的带符号数,要求:将BUF1中的正、负数分别复制到数组PLUS和MINUS中,并统计正、负数的个数,分别放在NUMP和NUMM中。答:DATA SEGMENTBUF DB X1, , X100PLUS DB 100 DUP(?)MINUS DB 100 DUP(?)NUMP DB ?NUMM DB ?DATA ENDSSTACK SEGMENTSTA DB 100 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME DS:DATA, CS:CODE, SS:STACK, ES:DATASTART:MOV
14、AX, DATAMOV DS, AXMOV ES, AXMOV AX, STACKMOV SS, AXMOV SP, TOPMOV SI, OFFSET BUF1MOV DI, OFFSET PLUSMOV BX, OFFSET MINUSMOV DX, 00H;记录正负数个数清零MOV CX, 64H;设置循环次数LOP:MOV AL, SI;取一个数TEST AL, 08H;判断正负JNZ NEXT;负数跳MOV DI, AL;正数挪到PLUSINC DIINC DH;正数个数+1NEXT:MOV BX, AL;负数挪到MINUSINC BXINC DL;负数个数+1LOOP LOPMOV
15、 AX, OFFSET NUMPMOV AX, DH;放正数个数MOV AX, OFFSET NUMMMOV AX,DL;放负数个数MOV AH, 4CHINT 21HCODE ENDSEND START2. 数组NUM1中有10个非压缩BCD数,试编写完整的汇编程序,并使用子程序来实现上述两个功能:1)将其转换为压缩性BCD数,并存放到数组NUM2中;2)求数组NUM2的累加和存放在AX中。答:DATA SEGMENTNUM1 DB X1, , X10NUM2 DB 5 DUP(?)DATA ENDSSTACK SEGMENTSTA DB 100 DUP(?)TOP EQU LENGTH S
16、TASTACK ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACK; ES:DATASTART:MOV AX, DATAMOV DS, AXMOV ES, AXMOV AX, STACKMOV SS, AXMOV SP, TOPMOV SI, OFFSET NUM1MOV DI, OFFSET NUM2MOV CX, 05H;设置循环次数CALL TRNS;调用转换子程序MOV SI, OFFSET NUM2MOV CX, 05H;设置循环次数CALL PLSS;调用加法子程序MOV AH, 4CHINT 21HTRNS PROC NEAR;转换
17、子程序LOP:PUSH CX;保护CXMOV AL, SI;取一个非压缩BCD码INC SIMOV AH, SI;再取一个INC SIMOV CL, 04H;设置左移次数SHL AH, CL;第二个BCD码左移四位OR AL, AH;第二个与第一个相或MOV DI, AL;存到NUM2INC DIPOP CX;恢复CXLOOP LOPRETTRNS ENDPPLSS PROC NEAR;相加子程序MOV AX, 00H;AX清零CLC;CF清零LOP:PUSH CX;保护CXMOV BL, SI;取一个压缩BCD码INC SIMOV BH, BLAND BL, 0FH;第一个取低四位ADC AL, BL;加到ALAAA;非压缩BCD码加法调整AND BH, 0F0H;第二个取高四位MOV CL, 04HSHR BH, CL;右移四位ADC AL, BH;加到ALAAAPOP C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学前教育每日一讲
- 合规管理三大防线
- 鞍山市2025年一级建造师市政工程临考冲刺试题含解析
- 大学生创业汽修店
- 幼儿园艺术与技术结合的探索计划
- 幼儿园小班的游戏教育工作计划
- 高中生职业规划与指导计划
- 艺术教育发展计划
- 仓库库存周转率的提升计划
- 战略人力资源管理改革计划
- 中图版七年级下册地理期中试卷1
- 国开学习网《金融基础》形考任务1-5答案
- 2024年度中国共产主义共青团团课课件版
- 《珠宝玉石鉴定仪器》课件
- 2025年上海市各区高三语文一模试题汇编之文言文二阅读(含答案)
- 食品安全教育课件教学
- 人不安全行为物的不安全状态考核试卷
- 《经济国际化》课件
- 医学综合英语学习通超星期末考试答案章节答案2024年
- DB41T 743-2012 温拌沥青混合料施工技术规范
- 工程化学试题集及答案
评论
0/150
提交评论