logo

咨询热线

15020086924 (点击在线咨询)
您现在的位置:山东自考网>历年真题 > 正文
自考攻略

2025年4月山东自考《汇编语言》自测试题

时间:2024-09-04 09:42:16 作者:储老师

自考助学

  一、填空题

  1、请用一条指令实现如下操作:   (1)将AX中划‘X’的位清0     15   5  4   0   ┏┳┳┳┳┳┳┳┳┳┳━┳━┳┳┳┳┓   ┃┃┃┃┃┃┃┃┃┃┃X┃X┃┃┃┃┃ 指令:__________________   ┗┻┻┻┻┻┻┻┻┻┻━┻━┻┻┻┻┛ 

  (2)寄存器的低四位取反:_________________

  2、三个重复前缀指令为__________________、________________、______________。

  3、DB指令以_______________为单位分配存贮;DD指令以__________为单位分配存贮。   故如下数据定义:   V1 DB 4 DUP(2),2   COUNT EQU 10   V2 DD COUNT DUP(?)   为变量V1分配_____个字节存贮;为变量V2分配_____个字节存贮。

  4、设(CS)=25FFH,(DS)=2140H,(SS)=2510H,(BP)=02D0H,(SI)=0010H,(DI)=0206H,   则(1)指令MOV AX,[BP+SI+2]的源操作数有效地址为_______,物理地址为________    (2)指令MOV AX,[DI+100H]的源操作数有效地址为_______,物理地址为________.

  5、8086/8088 CPU可访问2个独立的地址空间,一个为存贮器地址空间,其大小为____个字节;另一个为______,其大小为_______字节.

  6、设(AX)=1000H,(BX)=2340H,则在执行了指令CMP AX,BX后,CF标志值为____,ZF标志值为______。

  二、编写功能程序块

  1、将DX:BX:AX中的数右移4位。

  2、字变量ADDR的段地址在DS中,将ADDR字单元中1的个数存入CX 。(例如:[ADDR]=1000000100000100B,则1的个数为3 )

  3、设BX寄存器包含两个非组合BCD数,请将非组合BCD数转换成对应的组合BCD数,存入AL寄存器。

  三、简答题

  1、简述汇编语言相对高级语言的优点。

  2、简述8086CPU的中断响应过程。

  四、阅读程序,分析结果

  1、从键盘读入一字符串(长度小于40),将该串反转后,输出显示。   MAXNO EQU 41   SSEG SEGMENT STACK   DW 100 DUP(?)   SSEG ENDS   DSEG SEGMENT   MESG1 DB 'INPUT A STRING:$'   MESG2 DB 'IT'S REVERSE IS:'   BUF DB MAXNO,?,MAXNO DUP(?)   DSEG ENDS   CSEG SEGMENT   ASSUME CS:CSEG,DS:DSEG   START:________________   MOV DS,AX   MOV DX,OFFSET MESG1   MOV AH,9   INT 21H   MOV DX,OFFSET BUF   __________________   INT 21H   XOR AX,AX   __________________ ;取实际读入字符个数   LEA DI,BUF+2   MOV SI,DI   ADD SI,AX   MOV BYTE PTR [SI],'$'   DEC SI   CONT:   CMP DI,SI   _______________   MOV AL,[SI]   XCHG AL,[DI]   DEC SI   ________________ ;调整DI   JMP CONT   FINISHD:   LEA DX,BUF+2   MOV AH,9   INT 21H   MOV AX,4C00H   INT 21H   CSEG ENDS   END START

  2、设num1,num2都为字变量,各存贮一个有符号数,请指出下面语句序列的功能   MOV AX,num1   XOR DX,DX   OR AX,AX   JNS SKIP   MOV DX,OFFFFH   SKIP: Ispan num2

  五、判断正误,若判断为错,请说明理由

  1、MOV DS,0

  2、MOV AX,[SI][DI]

  3、MOV BYTE PTR[BX],10H

  4、每个汇编语言源程序模块都必须以END伪指令结束。END伪指令用于向汇编程序指示源程序的结束;在需要时,还可以用于程序入口地址。

  5、设AX寄存器中为一个有符号数,用如下语句序列完成:   CMP AX,0   JE DONE   MOV AX,-1   JL DONE   MOV AX,1   DONE:

  附:99年北京市汇编语言山东自考上机题:

  要求:从键盘输入一组四位的十进制数,每组数中间以空格分割,以回车作为输入结束标志,后将这组数按升序输出。   用汇编语言实现,方法不限。   时间:三小时。

  下面给出此题一解法:(注:实现方法很多,这里只供参考)   方法:在内存中开辟一串以字为单位的内存单元,为了存放输入的四位十进制数,由于从键盘输入的每一次数均为0-9的一位十进制数,它的输入编码为30H-39H的八位二进制数,将它的高四位置0,就可以得到一个四位二进制数,将第一次输入的数暂存由一个寄存器中,等第二次输入并处理为一个高四位为0的十进制数后,将寄存器左移四位后与新输入的数相加,依次输入完四位十进制数,可以得到一个十六位的BCD码,将寄存器内的数放入内存单元(一个字),待全部数输入完后就可将内存单元中的乱序BCD码排序,然后将排序后的BCD码输出,就为升序的十进制数。   (如有更好的方法请将原代码发送至djxhome@263.net)

  data segment ;设置数据段   in_disp db 'input:$'   out_disp db 'output:$'   numb dw 100 dup(0)   data ends

  code segment ;设置代码段   assume cs:code,ds:data   start:   mov ax,data ;将数据段段寄存器DS置为实际地址   mov ds,ax

  lea dx,in_disp ;显示提示信息   mov ah,9   int 21h

  sub bx,bx   sub cx,cx   sub di,di   sub si,si

  r1: ;输入数组到内存   mov ah,1   int 21h   cmp al,0dh   jz exit1   cmp al,' '   jz nub_mem   sub al,30h   mov cl,4   shl bx,cl   add bl,al   jmp r2   nub_mem:   mov numb[si],bx   add si,2   inc di ;累计输入个数   sub bx,bx   r2:   jmp r1

  exit1:   mov numb[si],bx   inc di

  mov dl,0ah ;显示换行、回车   mov ah,2   int 21h   mov dl,0dh   mov ah,2   int 21h

  mov cx,di ;进行排序   dec cx   sub bx,bx   px:   mov ax,numb[bx]   mov si,2   mov dx,cx   px1:   cmp ax,numb[bx+si]   jc pxx   xchg ax,numb[bx+si]   mov numb[bx],ax   pxx:   add si,2   dec dx   jnz px1   add bx,2   loop px

  lea dx,out_disp ;显示输出提示   mov ah,9   int 21h

  sub si,si ;输出排序后的数组   r3:   mov bx,numb[si]

  mov dl,bh   mov cl,4   shr dl,cl   add dl,30h   mov ah,2   int 21h

  mov dl,bh   and dl,0fh   add dl,30h   mov ah,2   int 21h

  mov dl,bl   mov cl,4   shr dl,cl   add dl,30h   mov ah,2   int 21h

  mov dl,bl   and dl,0fh   add dl,30h   mov ah,2   int 21h

  mov dl,' '   mov ah,2   int 21h

  add si,2   dec di   jnz r3

  mov ah,4ch ;调用DOS 21H的4C子功能返回DOS   int 21h

  code ends   end start

声明:

(一)由于考试政策等各方面情况的不断调整与变化,本网站所提供的考试信息仅供参考,请以权威部门公布的正式信息为准。

(二)本网站在文章内容来源出处标注为其他平台的稿件均为转载稿,免费转载出于非商业性学习目的,版权归原作者所有。如您对内容、版权等问题存在异议请与本站联系,我们会及时进行处理解决。

考试提醒

准考证打印时间:10月21-26日
  • 考生交流群
  • 微信公众号
  • 考生交流群 扫一扫加入微信交流群

    与考生自由互动、并且能直接与专业老师进行交流解答。

  • 微信公众号 扫一扫加关注微信公众号

    与考生自由互动、并且能直接与专业老师进行交流解答。

关注公众号

回复“免费资料”领取复习资料

微信公众号

微信公众号

微信交流群

微信交流群

<<点击收起

在线咨询

在线咨询

联系微信
联系
微信
学习群
微信
学习群
在线报名
在线
报名
回到顶部
回到
顶部
APP下载
微信客服
微信交流群