中国大学汇编语言程序设计_3期末答案(mooc2023课后作业答案)

名华慕课问答2024-05-19 07:17:2223967抢沙发
中国大学汇编语言程序设计_3期末答案(mooc2023课后作业答案)摘要: 第1章 基础知识第1章 基础知识课后作业1、1.4 试分别完成下列补码表示的二进制运算,并将结果转换为十进制数真值。互评需要达到5次) 1)11100110-10101100 2)01110100-0 ...

中国大学汇编语言程序设计_3期末答案(mooc2023课后作业答案)

第1章 基础知识

第1章 基础知识课后作业

1、中国作业1.4 试分别完成下列补码表示的大学答案答案二进制运算,并将结果转换为十进制数真值。汇编(互评需要达到5次) (1)11100110-10101100 (2)01110100-00011101 (3)11111111-01111111 (4)10000000+01110011

2、程序1.6 设有二进制数10111000,设计若将该数分别看作是期末无符号数、原码表示的课后带符号数和补码表示的带符号数,它对应的中国作业十进制数真值分别是多少?(互评需要达到5次)

3、1.8 要表示无符号十进制数10000和100000,大学答案答案至少分别需要多少位二进制数?(互评需要达到5次)

4、汇编1.3. 试完成下列数制间的程序转换。(互评需要达到5次) (1)无符号二进制数转换为十进制数 01011101,设计11010101 (2)十进制数转换为十六进制数 79,期末243 (3)八进制数转换为十六进制数 234,课后222

第1章 基础知识课后作业

1、中国作业1.4 试分别完成下列补码表示的二进制运算,并将结果转换为十进制数真值。(互评需要达到5次) (1)11100110-10101100 (2)01110100-00011101 (3)11111111-01111111 (4)10000000+01110011

2、1.6 设有二进制数10111000,若将该数分别看作是无符号数、原码表示的带符号数和补码表示的带符号数,它对应的十进制数真值分别是多少?(互评需要达到5次)

3、1.8 要表示无符号十进制数10000和100000,至少分别需要多少位二进制数?(互评需要达到5次)

4、1.3. 试完成下列数制间的转换。(互评需要达到5次) (1)无符号二进制数转换为十进制数 01011101,11010101 (2)十进制数转换为十六进制数 79,243 (3)八进制数转换为十六进制数 234,222

第2章 IBM-PC微机的功能结构

第2章 IBM-PC微机的功能结构课后作业

1、在IBM PC微型计算机上,分别进行以下8位二进制数的运算后,标志寄存器中OF、ZF、SF、CF的值分别为多少?(互评需要达到5次) (1)10101011 + 01010101 (2)11011010 + 11101101 (3)01010101 - 00111110 (4)10110011 - 01100010

2、在8086/8088中,某存储单元的逻辑地址如下,请算出他们的物理地址是多少?(互评需要达到5次) (1)4514H:017BH (2)2350H:1ABCH

3、如图所示,试写出地址为20021H、20024H、20026H字节单元的内容,以及地址为20022H、20024好、20026H的字单元内容。(互评需要达到5次)

4、设堆栈寄存器(SS)=3E4BH,程序中设置堆栈长度为200个字节,试计算出堆栈底部字单元物理地址、堆栈指针SP初始值(即堆栈中没有数据时)和SP初始值指向的物理地址。(互评需要达到5次)

5、设(AX)=1122H,(BX)=3344H,(CX)=5566H,(SP)=2000H,试分析以下程序后AX、BX、CX、SP中的内容分别为多少?(互评需要达到5次) PUSH AX PUSH BX PUSH CX POP AX POP CX

第3章 寻址方式与指令系统

第3章 寻址方式与指令系统课后作业

1、假设(DS)=3000H,(ES)=4100H,(SS)=2000H,(SI)=00A0H,(DI)=2H,(BX)=100H,(BP)=10H,(BUF)=2000H。试指出下列各指令中源操作数的寻址方式,若为存储器操作数,请计算其物理地址。(互评需要达到5次) (1)MOV AX ,BUF (2)MOV AX ,BUF[BX] (3)MOV AX ,[BX-40H] (4)MOV AX ,[BP+100H][SI]

2、已知(DS)=091DH,(SS)=1E4AH,(AX)=1234H,(BX)=0024H,(CX)=5678H,(BP)=0024H,(SI)=0012H,(DI)=0032H,(09226H)=00F6H,(09228H)=1E40H,(1E4F6H)=091DH。下列各指令或程序段分别执行后得结果如何?(互评需要达到5次) (1)LEA BX,20H[BX][SI] MOV AX,2[BX] (2)LDS SI,[BX][DI] MOV [SI],BX

3、假设(CX)=0FFFFH,那么下面指令单独执行后标志寄存器得CF、AF、ZF、SF和OF分别是什么?(如无影响用“X”表示)(互评需要达到5次) (1)SUB CX,0FFFFH (2)MOV CX,BX (3)INC CX

4、读程序题。 (1)已知(BX)=6035H,(CX)=0F0FH。 OR BH,CH AND BL,CL NEG BL NOT BH 上述程序段执行后:(BH)=_____,(BL)=______。 (2)已知(AX)=0A65CH,(CX)=0F002H。 ROL AX,CL OR AH,CH RCR AX,CL 上述程序段执行后:(AX)=_____,CF=______。 (3)已知(AX)=0FFAAH,CF=1。 MOV CX,0ABH OR CX,0FF00H SUB AX,CX 上述程序段执行后:(AX)=_____,CF=______。 (互评需要达到5次)

5、试根据以下要求写出相应得汇编语言指令或指令序列。(互评需要达到5次) (1)将DI的高5位置1,而其他位保持不变。 (2)现有3个字节存储单元A、B、C,在不使用ADD和ADC指令的情况下实现:(A)+(B)=>(C)。

6、给出下列指令的机器目标代码。(互评需要达到5次) (1)ADD WORD PTR 0ABH[BP][DI],1234H (2)STC

第4章 汇编语言程序格式

第4章 汇编语言程序格式课后作业

1、设数据段数据定义如下: DATA SEGMENT NUMBER1 DW 2008H NUMBER2 DW 15 DUP(2006H) STRING1 DB 'How do you do? $' BUF DB 10H DUP(1,2,DUP(2)) DATA ENDS 下面几条MOV指令单独执行后,目的寄存器CX中的内容是什么?(互评需要达到5次) (1)MOV CX,NUMBER1 (2)MOV CX,TYPE NUMBER1 (3)MOV CX,LENGTH NUMBER2 (4)MOV CX,SIZE NUMBER2

2、已知下列程序段: DATA SEGMENT DB1 DB 12H,34H,0,56H DW1 DW 78H,90H,0AB46H,1234H ADR1 DW DB1 ADR2 DW DW1 BUF DB 5 DUP(0) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA ... ... XOR CX,CX MOV CL,3 ADD ADR1,CX SUB ADR2,CX MOV BX,ADR1 MOV DI,BX MOV SI,ADR2 MOV AL,DB1[BX] MOV BUF[DI],AL MOV AX,DW1[BX][SI] MOV WORD PTR BUF ,AX ... ... CODE ENDS 上述程序运行结束后,BUF中各字节单元得内容是什么?(互评需要达到5次)

3、设已知数据段: DATA SEGMENT ______________ DA1 DB XX,XX DA2 DB XX,XX ADRR DW DA1,DA2 DATA ENDS 为使ADRR+2字存储单元中存放内容为0022H,上面空行处应填写什么语句?(互评需要达到5次)

4、设某数据段为: DATA SEGMENT ORG 20H NUM1=8 NUM2=NUM1+10H DA1 DB 'IBM PC' DB 0AH,0DH CONT EQU $-DA1 DA2 DW 'IB','M','PC',0A0DH DATA ENDS 上述数据段定以后,DA1和DA2得偏移量、CONT的值和DA2+5字节单元的内容分别是多少?(互评需要达到5次)

5、设某数据段为: DATA SEGMENT ORG 34H NUM=_______________ DA1 DW 10H,$+20H,30H,$+40H DA2 DW DA1+NUM+10H DATA ENDS 上述语句编译后,$+20H和$+40H中的$分别是多少?为使DA2字单元中的值为50H,等号语句NUM后的空白处应填什么?(互评需要达到5次)

6、已知有下列3个等值语句: N1 EQU 30 M2 EQU 87 P3 EQU 4 那么下列表达式的值各是多少?(互评需要达到5次) (1)M2/N1+M2 MOD P3 *2 (2)P3 SHL 4﹣2 (3)N1 GT M2 AND P3 LT M2(用8位二进制数表示)

第5章 程序控制结构及其设计技术

第5章 程序控制结构及其设计技术课后作业

1、下面的程序运行后,(AL)=_____,CF=_____。(互评需要达到5次) MOV CL,8 MOV AL,0 NOT AL ROL AL,CL CMP AL,0FFH JZ NEXT MOV AL,0 NEXT: ......

2、在下面的程序段中,“DEC CX”指令执行了_____次。(互评需要达到5次) MOV CX,6 JCXZ NEXT L1: DEC CX JNZ L1 NEXT: ...... (A)0 (B)5 (C)6 (D)7

3、循环控制指令LOOPNZ的转移条件是_____。(互评需要达到5次) (A) (CX)!=0并且ZF=0 (B) (CX)!=0或者ZF=0 (C) (CX)=0并且ZF=0 (D) (CX)!=0并且ZF=1

4、下面得程序段执行后,BUF1的前5个字节单元内容分别是多少?(互评需要达到5次) DATA SEGMENT DA1 DW 123H, 456H, 0AB00H DA2 DB 12H, 34H, 56H, 0ABH DB $-DA2 BUF1 DB 10H DUP(1,2,3) BUF2 DB 10H, 20H, 30H DATA ENDS ...... MOV SI,OFFSET DA1 MOV DI,OFFSET BUF1 MOV CX,5 LOP: MOV AL,[SI] MOV [DI],AL INC SI INC DI LOOP LOP ......

5、阅读下列程序,回答下列问题: (1)该程序完成什么功能? (2)程序中的“INC SI”可否用指令“ADD SI,1”代替,为什么? (3)程序中的指令LEA SI,DATA1可用指令_____代替。 (4)CLC的目的是_____。(互评需要达到5次) DATA SEGMENT DATA1 DB 85H,27H,4AH DATA2 DB 93H,87H,65H LEGH DW 3 SUM DB 0,0,0 DATA ENDS CODE SEGMENT ASSUME CS;CODE, DS:DATA BEGIN: MOV AX,DATA MOV DS,AX LEA SI,DATA1 LEA BX,DATA2 LEA DI,SUM MOV CX,LEGH CLC AGAIN:MOV AL,[SI] ADC AL,[BX] MOV [DI],AL INC SI INC BX INC DI LOOP AGAIN MOV AH,4CH INT 21H CODE ENDS END BEGIN

6、设有单字节有符号数X,Y与Z,如果X+Y>200,则求X-Z,否则求X+Z,运算结果存储在SUM字单元中。(互评需要达到5次)

第6章 子程序设计

第6章 子程序设计课后作业

1、已知SHIFT是定义在代码段中属性为NEAR的子程序,数据段DATA中ADDR变量存放了SHIFT的偏移量,试根据上下文在代码中补齐指令实现3种调用SHIFT的方式。(互评需要达到5次) DATA SEGMENT ...... ADDRDW OFFSET SHIFT ...... DATA ENDS STACK1 SGEMENT PARA STACK DW 10H DUP(?) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 BEGIN: MOV AX,DATA MOV DS,AX ..... MOV BX,ADDR CALL ______ ..... MOV BX,OFFSET ADDR CALL ______ ..... CALL ______ ..... MOV AH,4CH INT 21H SHIFT PROC NEAR ..... SHIFT ENDP CODE ENDS END BEGIN

2、编写程序,计算3!+4!+5!,并且将结果放入自变量RESULT种。(互评需要达到5次)

3、试编制程序,分别对NUM中各数统计出有多少个20,余下有多少个5,再余下又有多少个2,再余下又有多少个1。统计的各数分别存放再NUM20,NUM5,NUM2,NUM1的对应位置中,程序要求用主程序、子程序形式编制,而且用两种参数传递方法分别编制主程序和子程序。数据段如下: DATA SEGMENT NUM DW 0133H,0D5FH,1234H COUNT EQU($-NUM)/TYPE NUM NUM20 DB COUNT DUP(0) NUM5 DB COUNT DUP(0) NUM2 DB COUNT DUP(0) NUM1 DB COUNT DUP(0) DATA ENDS (互评需要达到5次)

第6章 子程序设计课后作业1

1、已知SHIFT是定义在代码段中属性为NEAR的子程序,数据段DATA中ADDR变量存放了SHIFT的偏移量,试根据上下文在代码中补齐指令实现3种调用SHIFT的方式。(互评需要达到5次) DATA SEGMENT ...... ADDRDW OFFSET SHIFT ...... DATA ENDS STACK1 SGEMENT PARA STACK DW 10H DUP(?) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 BEGIN: MOV AX,DATA MOV DS,AX ..... MOV BX,ADDR CALL ______ ..... MOV BX,OFFSET ADDR CALL ______ ..... CALL ______ ..... MOV AH,4CH INT 21H SHIFT PROC NEAR ..... SHIFT ENDP CODE ENDS END BEGIN

2、编写程序,计算3!+4!+5!,并且将结果放入自变量RESULT种。(互评需要达到5次)

3、试编制程序,分别对NUM中各数统计出有多少个20,余下有多少个5,再余下又有多少个2,再余下又有多少个1。统计的各数分别存放再NUM20,NUM5,NUM2,NUM1的对应位置中,程序要求用主程序、子程序形式编制,而且用两种参数传递方法分别编制主程序和子程序。数据段如下: DATA SEGMENT NUM DW 0133H,0D5FH,1234H COUNT EQU($-NUM)/TYPE NUM NUM20 DB COUNT DUP(0) NUM5 DB COUNT DUP(0) NUM2 DB COUNT DUP(0) NUM1 DB COUNT DUP(0) DATA ENDS

期末考试

汇编语言程序设计期末考试-客观题部分

1、将下列十进制数转换为十六进制数: (1)133 (2)243
A、85 , F3
B、85 , F4
C、86 , F3
D、86 , F4

2、计算下列补码表示的二进制数运算,并将结果转换为十进制数真值: (1)01101100+10001110 (2)11111111-01111111
A、11111010B -7D, 10000000B -127D
B、11111010B -6D ,10000000B -127D
C、11111010B -7D ,10000000B -128D
D、11111010B -6D ,10000000B -128D

3、在IBM PC微型计算机上,以下8位二进制数的运算后,标志寄存器中OF、ZF、SF、CF的值分别为多少? 10101011 + 01010101
A、OF=1 ZF=0 SF=1 CF=1
B、OF=0 ZF=0 SF=0 CF=1
C、OF=0 ZF=1 SF=0 CF=1
D、OF=1 ZF=1 SF=0 CF=0

4、在8086/8088中,某存储单元的逻辑地址如下,请算出它们的物理地址是多少? (1)F000H:0100H (2)10E0H:2020H
A、F1000H ,12E20H
B、F0100H ,30E20H
C、F0100H ,12E20H
D、F0100H ,22E20H

5、下列指令源操作数的寻址方式,并说明该操作数在哪个段? (1)MOV AX,[5000H] (2) MOV BL,BUF[SI]
A、立即数寻址 代码段,基址寻址 堆栈段
B、直接寻址 数据段,变址寻址 数据段
C、立即数寻址 代码段,直接寻址 代码段
D、寄存器间址 数据段,直接寻址 代码段

6、已知(AX)= 0FF60H,CF = 1。 MOV DX, 96 XOR DH, 0FFH SBB AX, DX 上述程序段执行后:(AX)=________,CF =________。
A、0FFF0H 0
B、0FFFFH 1
C、0FFF0H 1
D、0FFFFH 0

7、某数据段中有: COUNT1 EQU 16H COUNT2 DW 16H 则下面两条指令有何异同? MOV AX, COUNT1 MOV BX, COUNT2
A、第一条指今是寄存器寻址,第二条指令是立即数寻址
B、第一条指今是直接寻址,第二条指令是立即数寻址
C、第一条指今是立即数寻址,第二条指令是直接寻址
D、第一条指今是立即数寻址,第二条指令是基址寻址填空题

8、已知有下列3个等值语句: N1 EQU 30 M2 EQU 87 P3 EQU 4 那么下列表达式的值是多少? (2)P3 SHL 4﹣2 (4)P3 OR 7
A、62 , 0111
B、61 , 0110
C、61 , 0111
D、62 , 0110

9、指令“JMP BX”转移的目标地址的偏移量为_______。
A、P+BX的内容
B、BX的内容
C、BX所指向的存储单元的内容
D、IP-BX的内容

10、设标识符DONE是程序中某指令语句的标号,与JMP指令同在一个逻辑段内,下列的哪个程序段不能够转移到标号DONE处的语句执行。
A、JMP DONE
B、MOV BX, OFFSET DONE JMP BX
C、MOV BX, DONE JMP BX
D、LEA BX, DONE JMP DONE

11、已知CALL BX执行前SP=100H,执行后SP的内容为________。
A、0FCH
B、102H
C、98H
D、0FEH

12、段内直接调用的转移范围为________。
A、-128~127
B、-32768~32767
C、-65536~65535
D、0~32767

13、1KB的存储器有________个存储单元,存储单元的编号从________到________。
A、1024,0,1023
B、1000,0,999
C、1024,1,1024
D、1000,1,1000

14、给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为________到________H 。
A、00010H,1000FH
B、10001H,1000FH
C、00010H,1FFFFH
D、10001H,1FFFFH

15、有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为________,最大为________。
A、1001H ,2000H
B、1000H ,1FFFH
C、1000H ,2000H
D、1001H ,1FFFH

16、程序上机调试,常用________跟踪程序执行过程,如果要单步执行汇编指令使用________命令。
A、debug,t
B、masm,t
C、masm,r
D、masm,a

17、查看寄存器中的值会使用________命令。
A、r
B、t
C、a
D、u

18、汇编语言源程序文件的扩展名为________,一般会用________程序软件编辑。
A、.asm,notepad++
B、.mam,记事本
C、.exe,word
D、.exe,记事本

19、外部中断一般是指由计算机外设发出的中断请求,以下________不是外部中断。
A、键盘中断
B、打印机中断
C、定时器中断
D、突然掉电

20、内部中断是指因硬件出错或运算出错所引起的中断,内部中断是不可屏蔽的中断,以下________不是内部中断。
A、奇偶校验错
B、除数为零
C、运算溢出
D、定时器中断

21、通用寄存器通常用来存放一般性数据,比如:AX、BX、CS、DS。

22、汇编指令跟C语言一样是区分大小写的。

23、一个数据的二进制形式左移1位,相当于该数据乘以2。

24、当偏移地址为16位,其地址变化范围为0~FFFFH,仅用偏移地址来寻址最多可寻64K个内存单元。

25、8086CPU有4个段寄存器: CS、DS、SS、ES。

26、mov指令称为传送指令,可用于设置CS、IP的值。

27、8086CPU中有一个 DS寄存器,通常用来存放要访问的数据的段地址。

28、8086CPU支持将数据直接送入段寄存器的操作,如:mov ds,1000H。

29、8086CPU的入栈和出栈操作是以字节或字为单位进行的。

30、8086CPU不保证对栈的操作不会越界。

31、伪指令没有对应的机器码的指令,最终不被CPU所执行。

32、伪指令可由CPU来执行的指令,编译器会根据伪指令来进行相关的编译工作。

33、汇编程序的结束标记为ends,编译器在编译汇编程序的过程中,如果碰到了伪指令 ends,就结束对源程序的编译。

34、loop指令用来实现循环的功能,cx 中存放循环次数。

35、在8086CPU 中,只有(bx、bp、si、di)这4个寄存器可以用在“[…]” 中来进行内存单元的寻址。

36、只要在[…]中使用寄存器bp,而指令中没有显性的给出段地址,段地址就默认在ds中。

37、操作符offset在汇编语言中是由编译器处理的符号,它的功能是取得标号的偏移地址。

38、jmp为无条件转移,可以只修改IP,也可以同时修改CS和IP。

39、对于ZF的值,可以这样来看,ZF标记相关指令的计算结果是否为0,如果为0,则ZF=0。

40、外部中断是不可屏蔽的中断。

汇编语言程序设计期末考试-主观题部分

1、编写一个子程序,将包含任意字符,以0结尾的字符串中的小写字母转变成大写字母,描述如下: 名称:letterc 功能:将以0结尾的字符串中的小写字母转变成大写字母 参数:ds:si指向字符串首地址 应用举例: assume cs:codesg datasg segment db "Beginner's All-purpose Symbolic Instruction Code.",'0' datasg ends codesg segment begin: mov ax,datasg mov ds,ax mov si,0 ;ds:si指向第一个字节 call letterc mov ax,4c00h int 21h letterc: ……….. codesg ends end begin 注意:需要进行转化的是字符串中的小写字母a~z,而不是其他字符。

中国大学汇编语言程序设计_3

导言

汇编语言是一种底层编程语言,虽然在现代编程中已经不是主流,但仍然有很多需要用到汇编语言的场合。而在中国大学的计算机科学专业中,汇编语言程序设计也是必修课之一,那么在本篇文章中,我们将介绍中国大学汇编语言程序设计的相关内容。

课程概述

中国大学汇编语言程序设计是一门主要讲授汇编语言的课程,包含了汇编语言的基础知识、指令系统、程序设计等相关内容,旨在让学生掌握汇编语言程序设计的基本原理和技术,为以后的编程工作打下坚实的基础。

教学内容

1. 汇编语言基础

这部分主要介绍了计算机基本概念、汇编语言的基本语法和常用指令、寄存器、内存等相关知识。

2. 汇编语言程序设计

这部分主要介绍了汇编语言程序设计的基本原理和技术,包括程序的结构、算术运算、逻辑运算、数据传送、程序控制等内容。

3. 汇编语言应用实例

这部分主要介绍了汇编语言在实际应用中的使用,包括编写启动程序、编写设备驱动程序、编写中断处理程序等。

教学方法

针对中国大学汇编语言程序设计的课程特点,教学方法主要采用理论教学、实践教学相结合的方式。在教学过程中,会通过讲授理论知识、实践操作、例题讲解等方式,帮助学生掌握汇编语言程序设计的基本原理和技术,并能够熟练运用。

教学目标

通过中国大学汇编语言程序设计的学习,学生应该能够:

  • 掌握汇编语言的基础知识,包括语法、指令、寄存器、内存等相关内容;
  • 掌握汇编语言程序设计的基本原理和技术,包括程序的结构、算术运算、逻辑运算、数据传送、程序控制等内容;
  • 能够熟练运用汇编语言编写程序,包括编写启动程序、编写设备驱动程序、编写中断处理程序等;
  • 具备分析和解决实际问题的能力,能够将汇编语言运用到实际应用中。

结语

中国大学汇编语言程序设计虽然是一门底层编程语言的课程,但在理解计算机底层原理、深入探究计算机内部结构等方面具有重要的作用。同时,掌握汇编语言程序设计也是软件开发工程师的必备技能之一。因此,希望广大学生能够认真学习,掌握汇编语言程序设计的基本原理和技术,为以后的编程工作打下坚实的基础。

文章版权及转载声明

本文地址:http://www.zzxhsh.org/11f799650.html发布于 2024-05-19 07:17:22
文章转载或复制请以超链接形式并注明出处五煦查题

评论列表 (暂无评论,44人围观)参与讨论