计算机原理作业习题及答案-1209学生 联系客服

发布时间 : 星期日 文章计算机原理作业习题及答案-1209学生更新完毕开始阅读b0bc1765bb68a98271fefab5

CODE ENDS END START

25.设伪指令定义如下,请画出内存分配示意图。 BUF DB ? DW ‘AB’ DW ‘C’ DW 1234H DB ‘EF’

26.执行下列程序段后: DATA SEGMENT DT1 DW 8A9BH

DT2 DB 7CH, 6DH DATA ENDS ┇ ┇

MOV AX, DT1

MOV BX, OFFSET DT1 MOV SI, OFFSET DT2

寄存器BX的值是 ① ,寄存器SI的值是 ② 。 27.执行下列指令后: TABLE DB 10H,33H,41H ┉┉

MOV BX,OFFSET TABLE MOV AL,[BX] XOR AL,80H MOV [BX],AL

寄存器AL的值是多少? 28.执行下列程序段后: DATA SEGMENT N1 DW 3355H

N2 DB 23H, 89H DATA ENDS ┇

MOV AX, N1

MOV DI, OFFSET N1 MOV BP, OFFSET N2

寄存器DI的值是多少?寄存器BP的值是多少? 29.执行下列指令后: DAT DB 10H,33H,41H ┉┉

LEA BX,DAT

MOV AX,SEG DAT MOV ES,AX

MOV AL,ES:[BX] XOR AL,80H

MOV ES:[BX],AL

寄存器AL的值是多少? 30.执行下列程序段后: BUF DB 01H ??

XOR AL,AL MOV AL,BUF MOV BL,AL SAL AL,1 ADD AL,BL XOR AL,0FFH HLT

寄存器AL的值是多少?寄存器BL的值是多少?

五.程序填空

1.下列程序是在键盘上输入120个字符,然后将输入反序后显示在屏幕上。请将程序填写完整。 STACK1 SEGMENT

STP DW 120 DUP ( ? ) STACK1 ENDS CODE SEGMENT

ASSUME CS:CODE,SS:STACK1 START: MOV AX, STACK1 MOV SS, AX

MOV SP, SIZE STP MOV CX,120 LOOP1: MOV AH,01H INT 21H PUSH AX ( )

MOV DL,0AH MOV AH, 02H INT 21H

MOV DL, 0DH INT 21H

MOV CX, 120 LOOP2: ( ) MOV AH,02H INT 21H LOOP LOOP2 MOV AH,4CH INT 21H CODE ENDS END START 六、编写程序

1.在STR到STR+49单元中存放着一个字符串,试编写一个程序,测试字符串中是否存在数字,如有,则把DL的第五位置1,否则将该位置0。

2.试编程实现,从键盘接收N个(N≤60)8位二进制数,统计其中奇数的个数,

并将结果显示在屏幕上。

3.已知有100字节的数据块存放在以5C10H: 2000H开始的存储区内,要求编写一个完整程序将数据移动到以5C10H:2008H开始的存储区内。

4.数组A包含100个互不相等的整数,数组B包含150个互不相等的整数,试编程实现将数组A和数组B都有的整数存放在数组C中。

5.在以BASE起始的表中存有一组字符,它以‘回车’(0DH)结束。请编写程序:实现从该表中查找关键字KEY(设关键字KEY在AL中),并将找到的第一个关键字偏离表首的位置存放在寄存器DX中,若无此关键字,DX返回值为-1。

7.编写程序找出BUF数据区中50个带符号数的最大值和最小值,并分别存入MAX和MIN单元。

8.试编程实现从键盘接收N个(N≤50)8位二进制数,统计偶数的个数及偶数之和,并将统计的个数以十进制方式显示在屏幕上。

9.以STRING起始的字符串的最大长度为80个字符,字符串的结束用字符$表示。编写程序在该字符串中查找是否有空格符(ASCII码为20H),若有就将第一个空格字符串中的位置(00H~4FH)存入POST单元;若无空格则将-1存入POST。

10.BUFFER字节数组中存有一组无序列字节数数据,列的长度表示在BUFFER的第一个字节中KEY中为一个字节数据,编写程序在BUFFER中查找有无KEY,若有就结束,若没有就将KEY加入到BUFFER中去,并修改列的长度。 11.利用移位及数据循环指令完成将DH AL中的16位二进制乘以8的运算,结果仍存入DH AL中。

12.分别从键盘上接收两长度相等的组数A和B,试完成两数组的求和任务,将结果存放在数组C中,并显示在屏幕上。

13.编写程序,将键盘输入的小写字母用大写字母显示出来。

15.设在变量X、Y、Z中存放有三个数,若三个数都不为0,则求出三个数之和存入U中,若有一个为0,则将其它两个单元也清零,编写此程序。

16.求出首地址为DATA的M个字节的无符号数组中最小奇数,并把它存放于DL中。

第2章 指令系统及汇编语言程序设计

一.选择题

1.(D) 2.(A) 3.(C) 4.(D) 5.(A) 6.(D) 7.(C) 8.(C) 9.(C) 10.(D) 11.(D) 12.(C) 13.(C) 14.(A) 15.(A) 16.(D) 17.(B) 18.(C) 19.(C) 20.(C) 21.(D) 22.(D) 23.(D) 24.(C) 25.(A) 26.(A) 27.(B) 28.(C) 29.(B) 30.(D) 31.(B) 32.(C) 33.(C) 34.(A) 35.(C) 36.(D) 37.(D) 38.(A) 39.(B) 40.(C) 41.(D) 42.(D) 43.(B) 44.(C) 45.(C) 46.(B) 47.(B) 48.(D) 49.(A) 50.(B) 51.(A) 52.(C)

二、判断题

1.× 2.× 3.× 4.√ 5.√ 6.√ 7.× 8.× 9.× 10.√ 11.× 12.× 13.× 14.× 15.× 16.√ 17.√18.√ 19.× 20.× 21.× 22.√ 23.× 24.√ 25.√ 26.√ 三、填空题

1.53F30H 2. 0 ; 0; 0; 1 3.操作码;操作数 4. ZF=0 5.SS

6. 1234H,0FFEH 7.立即 四、阅读程序

1. 38(或26H)

2.将以10100H起始的50个单元的内容传送至以10200H起始的50个单元中

3. 将数据段中以2000H起始的100个单元中的内容清零

4.统计以BUFFER为首址的100个单元中数字为1的个数存入ARRAY单元

5.统计N字中0的个数

6.将N的内容拆为两部分分别存入BH,BL中 7.AX=0008H 8.AL=34H 9.AX=23H 10. AX=0004H 11. AX=0055H

12. 将从键盘接受到的两个字符拼在一起 13.BH=0FFH,BL=0EH 14. AX=000FH