编程,汇编题目

来源:事业单位 发布时间:2020-07-27 点击:

一、选择题 1. 已知指令CALL DWORD PTR [BX]执行前(SP)=108H, 则该指令执行后SP的内容为 ( )。

A. 100H B. 104H C. 0FEH D. 106H 2.在标志寄存器中,当方向标志DF=1时,每次执行MOVSB指令时使变址寄存器SI和DI( )。

A. 加1 B. 加2 C. 减1 D. 减2 3. 设(AX) =0C568H,当执行指令ADD AX,54B7H后,标志位CF 和OF的值分别是( )。

A. 0, 0 B. 0, 1 C. 1, 0 D. 1, 1 4. 指令“JMP DWORD PTR [BX]”属于( )。

A. 段内间接转移 B. 段内直接转移 C. 段间直接转移 D. 段间间接转移 5. 下列标志位是符号标志的是( )。

A. SF B. DF C. PF D. IF 6.中断向量表中地址为0:124H的中断类型号是( )。

A. 48H B. 4AH C. 49H D. 50H 7.取变量或标号偏移地址的伪操作符是( )。

A. OFFSET B. PTR C.ORG D. SEG 8. 要使寄存器CL的最高位为1其它位保持不变,应使用的指令是( )。

A. XOR CL, 80H B. OR CL, 80H C. AND CL, 7FH D. NOT CL 9.若A,B为无符号数,执行CMP A,B指令后,要求A>B时转移的条件指令为( )。

A. JLE B. JA C. JBE D. JG 10. 指令MOV AX,[SI+BX]中源操作数隐含的段为( )。

A. 代码段 B. 数据段 C. 堆栈段 D. 附加段 11.已知SP=2000H,执行RETF后(RETF为段间返回指令),SP的值为( )。

A. 2006H B. 2004H C. 2002H D. 1FFAH 12.CALL指令在执行时,进入堆栈保存的寄存器的先后顺序是( )。

A. IP、CS B. IP、CS、标志寄存器 C. CS、IP、标志寄存器 D. CS、IP 13.使DF=1的指令是( )。

A. STD B. STI C. CLD D. CLI 14.指令 DIV BX执行时商存放在( )。

A. DX寄存器中 B. DX和AX寄存器中 C. BX寄存器中 D. AX寄存器中 15. 当CX=0时,REP MOVSB执行的次数为。

( ) A. 1次 B. 0次 C. 65535次 D. 65536次 二、 填空题 1、INTER86CPU的中断系统属于____________型中断。

2、伪指令是不能形成__________________的代码。

3、BX的约定段(默认关联段)是__________段。

4、EU执行CPU的所有____________操作 5、8086CPU通用寄存器为____________、____________、____________和____________等 6、逻辑地址是由____________和____________构成。

7、x86入栈操作总是先____________然后____________。

8、INTER86系列微机端口地址是_____位. 9、标志位TF的功能是__________。

10、字符显示缓冲区的地址是__________至__________。

三、名词术语解释 (本题共5小题,每小题5分,共25分)
1、 BIOS功能调用 2、 地址表达式 3、 子程序出口参数 4、 标号的段属性 5、 中断矢量 四、编程题 1、以下是将BX寄存器中的二进制数显示在屏幕上的程序。其编程思路是:
1)设置SI为除数数组指针,BX寄存器中的数的最大范围为0~FFFFH,最多为16位二进制数,所以置循环次数CX=16。

2)将BX中每一位二进制分离出来的方法是,将BX寄存器中的数不断除以215,214,213,212,…21,20所得商即为二进制的各位数。

要求 、阅读程序,将其补充完整(每空4分共20分)。

‚、请给出本题其他编程思路,用程序框图表述出来。(本小题10分)。

DATA SEGMENT DIVI DW 32768, 16384, 8192, 4096, 2048, 1024, 512, 256, 128, 64, 32, 16, 8, 4, 2, 1 ;除数数组 DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX MOV CX,16 MOV BX, 12AFH MOV AX,BX ( 1 ) NEXT: XOR DX,DX ( 2 ) PUSH DX OR AL,30H MOV DL,AL MOV AH,2 INT 21H ( 3 ) INC SI ( 4 ) ( 5 )   MOV AX,4C00H INT 21H CODE ENDS END START 另:请设想本题是否有其他编程思路?(加分题)
2、已知a1......a20依次存放在以BUF为首址的连续数据区,每个数据占两个字节,和数SUM也为两个字节。编程计算SUM=a1+a2+a3+…+a20。

3、以下是一个含有子程序的字符串显示程序。实现在指定屏幕位置,以指定颜色显示字符串,字符串预置数据段中并以数值“0”作为结束符号。

要求按照给定的入口参数,设计完成子程序设计。

data segment db 'Welcome to masm!',0 data ends code segment assume cs:code,ds:data start: mov dh,14 ;dh装行号(范围:1--25) mov dl,4 ;dl装列号(范围:1--80)[注:每超过80等于行号自动加1] mov cl,0cah ;cl中存放颜色属性(0cah为红底高亮闪烁绿色属性) mov ax,data mov ds,ax mov si,0 call show_str mov ax,4c00h int 21h show_str: ;显示字符串的子程序[定义开始] ...... ret ;显示字符串的子程序[定义结束] code ends end start

推荐访问: 300PLC编程例子 302科目 3116人体生理学试题及答案 32学时流体力学课复习题答案 35kv变电站预防性试验项目 3dmax常见问题 3D杀号、定胆汇总 3、根据消费者均衡条件讨论下列问题: 3年级下册数学第四单元人教版复习题
上一篇:硬质景观工程施工合同(硬景)
下一篇:精心部署,,扎实学习,,用心实践

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有