汇编语言设计复习题

汇编语言设计复习题
汇编语言设计复习题

一、选择题

1. 应用程序具有3个基本段,可执行指令应该保存于( A )。

A) 代码段B) 数据段C) 堆栈段D) 附加段

2. 8位补码F3H要扩展成16位补码应该是( D ),这样其真值才不变。

A) F0F3H B) 00F3H C) 10F3H D) FFF3H

3. “mov [ebx+8],eax”指令的目的操作数采用( C )寻址方式。

A) 存储器间接B) 寄存器C) 寄存器相对D) 立即数

4. 执行“sar ebx,1”指令后,ebx最高D31位一定等于( D )

A) 0 B) 1 C) D0位D) D30位

5. 在代码段内的-128~127个字节前后范围的跳转,可以用( C )类型名表示。

A) WORD B) DWORD C) SHORT D) FAR

6. 在Windows控制台环境,在当前光标显示信息应该使用( B )函数(功能)。

A) ReadConsole B) WriteConsole

C) MessageBox D) GetStdHandle

7.汇编语言源程序经汇编后不能直接生成( C )

A) OBJ文件B) LST文件C) EXE文件D) CRF文件

8.在ADD指令中,两个操作数的物理位置不可以安排在( A )中。

A) 两个主存储单元

B) 一个主存储单元和一个数据寄存器

C) 两个数据寄存器

D) 一个堆栈单元和一个数据寄存器

9.假定ax=6987h,执行指令cmp ax,0eb30h后,则标志位CF和OF的状态( C )。

A)0,0 B) 0,1 C) 1,0 D) 1,1

10.假定esp=00120100h,eax=1f6c2107h,执行指令push ax后,存放数据07h的物理地址是( C )。

A) 00120104h B) 00120101h C) 001200fch D) 001200ffh

11.下列对标志寄存器中标志位产生影响的指令是( B )

A) jmp done B) shl eax, 2

C) call subp D) not eax

12. 假设CL=98H, 执行“MOVSX DX, CL”后,DX=( D )

A) F098H B) 0098H C) 1098H D) FF98H

13. “mov 80h[esi], eax”指令的目的操作数采用( C )寻址方式。

A) 存储器间接B) 寄存器C) 寄存器相对D) 变址寻址

14. 要在程序中定义缓冲区BUF,保留9个字节存储空间的语句是(C )。

A) BUF DW 9 B) BUF DB 9

C) BUF DB 9 DUP (?) D) BUF DW 9 DUP (?)

15. 下列指令执行后总是使CF=0,OF=0的是( A )。

A) AND B) NEG C) MOV D) INC

16. 下面指令的表示中,错误的操作是( C )

A) mov eax,[ebx+esi] B) jmp near ptr don1

C) dec [ebx] D) mul cx

17.测试BL寄存器内容是否与数据4FH相等,若相等则转NEXT处执行,可实现的方法是( A )

A) xor bl,4fh B) test bl,4fh

jz next jz next

C) and bl,4fh D) or bl,4fh

jz next jz next

18.下列寄存器组中在段内寻址时不可以提供偏移地址的寄存器组是( C )

A) ECX,EBX B) EDI,EBP

C) EIP,EAX D) EDX,ESI

19.若要使寄存器AL中的高4位不变,低4位为0,所用指令为( B )

A) AND AL,0FH B) AND AL,0F0H

C) OR AL,0FH D) OR AL,0F0H

20. 将汇编语言源程序文件翻译成目标代码文件的过程,称为( A )

A) 汇编B) 编辑C) 连接D) 调试

21. ADD求和指令的结果最高位为1,则SF=( B )

A) 0 B) 1 C) 任意D) 不影响

22. 子程序最后,通常需要执行的返回指令是( D )

A) LOOP B) JZ C) CALL D) RET

23.“mov eax, [ebx] [esi]”指令的源操作数采用( A )寻址方式。

A) 基址变址B) 寄存器C) 寄存器相对D) 存储器间接

24.若CL= 4,AX=0FF0FH,执行语句“ROL AX,CL”后,AX=( C )

A) 0FFFFH B) 0FFF0H C) 0F0FFH D) 0FFFH

25.JMP WORD PTR[EBX]转移的目标地址是( D )

A) EBX中的内容B) ESP+EBX的和

C) EIP+[EBX]之和D) EBX指示的内存单元的内容

二、填空题

1. IA-32处理器有三种操作模式分别是:保护模式、实地址模式、系统管理模式。

2. 在实地址工作方式下,逻辑地址“1460H: 100H”表示的物理地址是14700H 。

3.“cmp ebx, 98”指令之后是“jz again”指令,发生控制转移的条件是EBX=98 ,此时ZF= 1 。

4. 伪指令“xyz dword 67762000h”定义的变量保存于IA-32的存储器中,则从低地址到高地址每个字节依次是00 、20 、76 和67 。

5. mov ax, 1234h;

xor ax, 00ffh;

上述两条指令执行后:ax= 12cbh , CF=OF=0 , SF=0 , ZF=0 , PF=0 .

6. 利用堆栈传递子程序参数的方法是固定的,例如:寻找堆栈段数据的寄存器

是 EBP

7. JMP 指令根据目标地址的转移范围和寻址方式,可以分为四种类型:段内转移、相对转移、段内转移、间接转移以及段间转移、直接转移、段内转移、间接转移。

8. IA-32处理器工作在保护方式时,可以使用平展和段式存储模型。

9. 数据段有语句“VAR DWORD 99008843H”,代码段指令“MOV CX, WORD PTR VAR”执行后,CX=8843H 。

10. 数据段有语句“ABC BYTE 1,2,3”,代码段指令“MOV CL, ABC+2”执行后,CL=3 。

11.已知ESI=04000H,EBX=10H ,指令“MOV EAX, [ESI+EBX*2+8]中访问的有效地址

是04028H 。

12.假设在平展存储模型下,EBX=1256H,双字变量TABLE的偏移地址是40100H,线性地址41356H处存放40107H,执行指令“JMP EBX” 后EIP= 1256H ,执行指令“JMP TABLE[EBX]”后EIP=40107H

13.已知数据段定义如下:

.data

org 2000h

vard dword 1234h

varw word 3*20

msg byte ?hello!?,?0?

n1 equ $-msg

count equ 5

buf word count dup(5,3 dup(1,2),0)

array dword varw

问题: (1)执行MOV EBX , OFFSET VARD后, EBX= 2000H

(2)执行MOV ECX , TYPE BUF后, ECX= 2

MOV EDX , SIZEOF VARD后, EDX= 4

(3)经汇编后, BUF占有的存储空间是 80 字节

(4)经汇编后,$= 200DH , N1= 7

Array = 2004H

14. 执行“SHR EBX, 4”指令后,JNC发生转移,则说明EBX的D3= 0

15. 子程序的参数传递主要有三种,它们是寄存器传递、

共享变量传递、堆栈传递

三、程序阅读题

1.填写下面指令的执行结果。

mov eax,3721h

add eax,9 ; EAX= 372A H

mov ebx,50h

sub ebx,8 ; EBX= 48 H

mov edi,9eh

xor edi,7fh ; EDI= E1 H

2.填写下面指令执行的结果。

mov al, 82h ;

movsx bx, al ; BX =FF82h

movsx ebx, al ; EBX=FFFFFF82h

mov cx, 1000h ;

movsx edx, cx ; EDX=00001000h

3.填写下面指令执行的结果。

mov ax, 20000

mov bl,10

div bl

;以上代码是否产生溢出是

4. 数据段有如下定义,IA-32处理器将以小端方式保存在主存:

var dword 12345678h

现以字节为单位按地址从低到高的顺序,写出这个变量内容。并说明如下指令的执行结果:mov eax,var ; EAX=12345678h

mov cx,word ptr var+2 ; CX=1234h

mov dh,byte ptr var+3 ; DH=12h

5.填写下面指令的执行结果。

mov eax, 3721h

add eax, 9 ; EAX= 372A H

mov ebx, 50h

sub ebx, 8 ; EBX= 48 H

mov esi, 9eh

and esi, 80h ; ESI=80 H

6.填写下面指令执行的结果。

.data

array dword 616h,727h,838h ;假设该变量的存储器地址是40100H

.code

mov esi,array+4 ;ESI= 727H

mov edi,offset array ;EDI= 40100H

mov edx,[edi] ;EDX= 616H

push array+8 ;array+8= 838H

pop ecx ;ECX= 838H

7.分析下面程序段:

mov eax, 2000h

mov ebx, 5000h

mov [ebx+100h], 60h

add eax, [ebx+100h]

lea esi, [ebx+100h]

mov ebx, eax

程序段执行后,ESI= 5100 H,EBX= 2060 H

8.填写下面指令的执行结果。

mov eax,3721h

add eax,9 ; EAX= 372A H

mov ebx,50h

sub ebx,8 ; EBX= 48 H

mov esi,9eh

and esi,80h ; ESI= 80 H

9.填写下面指令执行的结果。

mov eax,0ffh

mov ebx,1000h

call sub1

inc eax

dec ebx

;子程序

sub1 proc

add eax, ebx

xchg eax, ebx

ret

sub1 endp

程序段执行后,EAX= 1001 H,EBX= 10FE H。

四、语句填空题

1. 在下面程序段实现下述功能:求:z=|x-y|,设x, y, z分别为双字数据的无符号变量名称。

mov eax,x

cmp eax,y

jb below

sub eax,y

mov z,eax

below: mov eax,y

sub eax,x

done: mov z,eax

2.下列程序段将EAX中值乘以9,请将程序填写完整。

push eax

shl eax,3

pop ebx

add eax,ebx

3.以下程序段用于计算符号函数。

的取值范围为32位的有符号数,试填写方框中的指令。

mov eax,x

cmp eax,0

jz zero

js nega

mov eax, 1

jmp ok

zero:xor eax, eax

jmp ok

nega:mov eax, 0ffffffffh

ok:mov y, eax

4.下列程序段求数组ARRAY的累加和。请将程序填写完整。

array word 45h,68h,………….,0abc1h,9600h;

mov esi,offset array

mov ecx,lengthof array

xor eax,eax

again:add eax,[esi]

add esi,2

loop again

5.已知从BUF单元起存有若干带符号数,将其中的正数找出并存入PLUS单元,负数存入MINUS单元,把下列程序填充完整。

.data

buf dword 12, -2, 555, 1000, -80, -2000, 6, 99, -111, -235

cn equ $-buf

plus dword cn dup(?)

minus dword cn dup(?)

.code

start: mov esi,0

mov edi,offset plus

mov ebx,offset minus

mov ecx,cn

next: mov eax,buf[esi*(type buf)]

inc esi

test eax,800000000h

jnz pp

mov [edi],eax

add edi, 4

jmp lp

pp: mov [ebx],eax

add ebx, 4

lp: loop next

6. 以下程序段用于计算符号函数。

的取值范围为32位的有符号数,试填写方框中的指令。

mov eax,x

cmp eax,0

jz zero

js nega

mov eax, 1

jmp ok

zero:xor eax, eax

jmp ok

nega:mov eax, 0ffffffffh

ok:mov y, eax

五、编制程序题

1. 求的绝对值,结果存入result单元中。

.data

X dword 100

Y dword 200

result dword ?

.code

start:

mov eax, x

sub eax, y

jns Al

neg eax

Al: mov result, eax

end start

2.编写程序从键盘接受两个有符号十进制数A和B,将它们按照大小顺序显示。

;本题答案没有,自己写的,而且没有考虑溢出情况(就是懒),没调试,错了不管

.data

msg byte 13,10,0

.code

call readsid

mov ebx,eax

call readsid

cmp eax,ebx

jns hehe

push eax

mov eax,ebx

pop ebx

hehe:

call dispsid

mov eax,offset msg

call dispmsg

mov eax,ebx

call dispsid

3. 编写一个程序片段,首先测试双字变量DVAR的最高位,如果为1,则显示字母”L”; 如果最高位不为1,则继续测试最低位,如果最低位为1,则显示字母”R”, 如果最低位也不为1,则显示字母”M”。字符显示子程序为dispc,它具有显示AL寄存器中ASCII字符的功能。

.code

mov eax, dvar

shl eax, 1

jc one

mov ebx,dvar shr ebx,1

jc two

mov al, …R?

jmp done two: mov al, …M?

jmp done

one: mov al, …L?done: call dipsc

汇编语言程序设计期末考试题

汇编语言程序设计期末考试题 学院(系):________ 学号:__________ 姓名:____________ 计分:_ 项选择题(在每小题的四个备选答案中,选岀一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共10分) 1.CPU发出的访问存储器的地址是() A.物理地址 B.偏移地址 C.逻辑地址 D.段地址 2.将高级语言的程序翻译成机器码程序的实用程序是() A.编译程序 B.汇编程序 C.解释程序 D.目标程序 3.DEC BYTE PTR: BX]指令中的操作数的数据类型是() A.字 B. 双字 C. 字节 D. 四字 4.在下列语句中,BUFFER称为() BUFFER DB 01H 0AH A.符号 B.变量 C.助记符 D.标号 5.串操作指令中,源串操作数的段地址一定在()寄存器中。 A.CS B. SS C. DS D. ES 6.使计算机执行某种操作的命令是() A.伪指令 B.指令 C.标号 D.助记符 7.将数据5618H存放在存储单元中的伪指令是() A.DATA1 DW 1856H B. DATA1 DB 18H,56H C. DATA1 EQU 5618H D. DATA1 DB 18H ,OOH, 56H,00H 8.若AX=3500H,CX=56B8H 当AND AX CX指令执行后,AX=() A.1400H B. 77F8H C.0000H D. 0FFFFH 9.计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍采用 的是()码。 A. BCD码 B. 二进制码 C.ASCII码 D.十六进制码 10.用指令的助记符、符号地址、标号和伪指令、宏指令以及规定的格式书写程序的语言称为() A.汇编语言 B.高级语言 C.机器语言 D. 低级语言 填空题(每空1分,共20分) 1.在8086/8088汇编语言中,有五条串操作指令,其中搜索字符串指令的助记符是 2.通常所说的计算机系统包括_________ 和_________ 两大部分。 3.8086/8088存储器分四个段,这四个段的段名所对应的段寄存器分别是 _____________ 4.现有AX=2000H, BX=1200H, DS=3000H, DI=0002H, (31200H)=50H, (31201H)=02H, (31202H)=40H, 请写岀下列各条指令独立执行完后有关寄存器及存储单元的内容,并指岀标志位ZF、CF的值。 A.ADD AX 1200H;问AX= __________ H ZF= _______ B.SUB AX BX 问AX= _________ H ZF= ________

【汇编语言程序设计】试题及答案合集

《汇编语言程序设计试题及答案》合集 汇编语言程序设计试题及答案 1.对于有符号的数来说,下列哪个值最大(D) A:0F8H B:11010011B C:82 D:123Q 2.下列有关汇编语言中标号的命名规则中,错误的是(D) A:通常由字母打头的字符、数字串组成 B:标号长度不能超过31个字符 C:?和$不能单独作为标号 D:.号不可位于标号首 3.8088/8086存储器分段,每个段不超过(D ) A.64K个字 B.32K个字节 C.1兆个字节 D.64K个字节 4.寻址指令MOV CX, [BX + DI + 20]使用的是哪一种寻址方式(B)A:寄存器寻址B:相对基址变址寻址 C:变址寻址D:基址变址寻址 5.若AX= - 15要得到AX=15应执行的指令是(A ) A.NEG AX B.NOT AX C.INC AX D.DEC AX 6.8086/8088系统执行传送指令MOV时( A) A.不影响标志位 B.影响DF方向标志 C.影响SF符号标志 D.影响CF进位标志 7.若要求一个操作数中的若干位维持不变,若干位置?1?,可以使用(B)A:NOT B:OR C:AND D:XOR 8.下列指令中段默认为堆栈段的是( C) A.MOV AX,[BX+SI+10] B.ADD AX,ES:[SI] C.SUB [BX],[BP][DI] D. MOV DX,[1000H] 9.关于8086/8088微机系列,下列说法哪个是正确的(D) A:一个存储单元由16个二进制位组成,简称字。

B:当存储一个字数据时,低字节放高地址位,高字节放低地址位。 C:在内存空间中,可以无限分配段,且段的大小不受限制。 D:段与段之间可以邻接,也可以重叠。 10.下列关于堆栈的说法,错误的是(D) A:以?先入后出?为原则。 B:栈区最高地址单元的前一个单元为栈底。 C:运行中SP寄存器动态跟踪栈顶位置。 D:压栈和弹出都是以字节为单位。 11.表示过程定义结束的伪指令是( A) A.ENDP B.ENDS C.END D.ENDM 12.BUF1 DB 3 DUP(0,2 DUP (1,2),3) COUNT EQU $-BUF1 符号COUNT等价的值是( B) A.6 B.18 C.16 D.9 13.下列标志位中,可以用来判断计算结果正负的是(B) A:PF B:SF C:DF D:OF 14.下列指令正确的是( CD) A. MOV [100H], [BX] B.MOV DS, ES C. ADD V[BX], CX D.MOV AX, 34H 15.下列哪个寄存器是属于指针寄存器(C) A:SI B:DX C:SP D:ES 二、填空题 (每小题4 分,共 20 分) 1.下列程序段求数组FLD的平均值,结果在AL中。请将程序填写完整(不考虑溢出) FLD DW 10, -20, 30, -60, -71, 80, 79, 56 _LEA SI,FLD______ MOV CX, 8 XOR AX, AX

汇编语言程序设计试题

汇编语言程序设计试题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.设SS=2050H,SP=0140H,则栈顶存贮单元的物理地址是( A ) A.20640H B.2063EH C.2063FH D.21900H 2.使用DOS功能调用时,子程序编号应放在( B ) A.AL B.AH C.AX D.任意指定 3.没有 ..语法错误的输出指令是( B ) P76 A.OUT AX,30H B.OUT DX,AL C.OUT AL,DX D.OUT 30H,AH 4.用MOV指令将十进制数89以非压缩BCD码格式送入AX,可使用的指令是( B ) A.MOV AX,89 B.MOV AX,0809H C.MOV AX,89H D.MOV AX,0809 5.设AX=8765H,DX=4321H,执行CWD指令后,DX中的内容是( B ) P117 A.4321H B.0FFFFH C.8000H D.0001H 6.设CL=05H,要获得CL=0AH,可选用的指令是( A) A.XOR CL,0FH B.NOT CL C.OR CL,0AH D.AND CL,0FH 7.假设执行ADD指令后AL=8CH,再执行DAA指令,AL中的值是( A ) A.92H B.0104H C.74H D.8CH 8.MOV AL,79H ADD AL,B1H 上面指令执行后,设置的标志位CF和ZF的值是( D ) A.CF=0,ZF=1 B.CF=l,ZF=1 C.CF=0,ZF=0 D.CF=1,ZF=0 9.TEST DL,55H P123 JZ NEXT NEXT:…… … 上述程序段,执行JZ指令时能产生转移的情况是( D ) A.DL>55H B.DL<55H C.DL=55H D.DL中第0、2、4、6位均为0 10.假设AL=28H, 执行ROL AL,1 指令之后的情况是( D ) P125 A.AL=14H, CF=1 B.AL=50H, CF=1 C.AL=14H, CF=0 D.AL=50H, CF=0 11. 98的BCD码是(B) A)10011001 B) 10011000 C) 10011010 D) 10001010 12. –0110110 的补码是(A) A) 11001010 B) 11001001 C) 10110110 D) 00110110

汇编语言程序设计试题

汇编语言程序设计试题 一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题2分,共50分) 1.CPU发出的访问存储器的地址是( A ) A.物理地址 B.偏移地址 C.逻辑地址 D.段地址 2.使计算机执行某种操作的命令是( B ) A.伪指令 B.指令 C.标号 D.助记符 3.若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=(A) A. 1400H B. 77F8H C. 0000H D. 0FFFFH 4.计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍采用的是( C)码。 A. BCD码 B.二进制码 C.ASCII码 D.十六进制码 5.下列关于8086CPU的工作原理的描述错误的是__C___。 A.汇编程序员可以通过对各种寄存器中内容的修改实现对CPU的控制。B.CPU在访问内存时,采用“段地址*16+偏移地址”的形式给出要访问的内存单元的物理地址。 C.任意时刻,CS:IP指向的内容即是此刻CPU正在执行的指令。 D.传送指令能够更改所有通用寄存器的内容。 6.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是(C) A.12CFBH B.12B6BH C.12C5BH D.12BFEH 7. 16位结构的CPU 不一定具备的特性是(D)。 A. 运算器一次最多可以处理16位的数据 B. 寄存器的最大宽度为16位 C. 寄存器和运算器之间的通路为16位 D. 地址总线为16根 8. 下列指令的书写正确的是(C)。 A. push al B. mov cs:[0],ds:[10] C. pop si D. mov ds:[0],2 9.在DEBUG工具中,显示寄存器内容的命令是( D )。 A. G B. D C. T D. R 10. 能够将ax中的内容送到内存0000:0200H处的指令序列是(D)。

新版汇编语言程序设计钱晓捷第1章习题答案

第1章汇编语言基础知识(全) 2010-10-18 19:32:40| 分类:答案集锦| 标签:|字号大中小订阅 第1章汇编语言基础知识 〔习题1.1〕简述计算机系统的硬件组成及各部分作用。 〔解答〕 CPU:包括运算器、控制器和寄存器组。运算器执行所有的算术和逻辑运算;控制器负责把指指令逐条从存储器中取出,经译码分析后向机器发出各种控制命令,并正确完成程序所要求的功能;寄存器组为 处理单元提供所需要的数据。 存储器:是计算机的记忆部件,它用来存放程序以及程序中所涉及的数据。 外部设备:实现人机交换和机间的通信。 〔习题1.2〕明确下列概念或符号: 主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB 〔解答〕 主存又称内存是主存储器的简称,主存储器存放当前正在执行的程序和使用的数据,CPU可以直接存取,它由半导体存储器芯片构成其成本高、容量小、但速度快。辅存是辅助存储器的简称,辅存可用来长期保存大量程序和数据,CPU需要通过I/O接口访问,它由磁盘或光盘构成,其成本低、容量大,但速 度慢。 RAM是随机存取存储器的英语简写,由于CPU可以从RAM读信息,也可以向RAM写入信息,所以RAM也被称为读写存储器,RAM型半导体存储器可以按地址随机读写,但这类存储器在断电后不能保存信息;而ROM中的信息只能被读出,不能被修改,ROM型半导体通常只能被读出,但这类存储器断电 后能保存信息。 存储器由大量存储单元组成。为了区别每个单元,我们将它们编号,于是,每个存储单元就有了一个存储地址,I/O接口是由一组寄存器组成,为了区别它们,各个寄存器进行了编号,形成I/O地址,通常 称做I/O端口。 KB是千字节、MB是兆字节、GB是吉字节和TB是太字节,它们都是表示存储器存储单元的单位。 〔习题1.3〕什么是汇编语言源程序、汇编程序、目标程序? 〔解答〕 用汇编语言书写的程序就称为汇编语言源程序;完成汇编工作的程序就是汇编程序;由汇编程序编 译通过的程序就是目标程序。

汇编语言程序设计试题和答案

《汇编语言程序设计》试题 专业姓名成绩 一、单项选择题(每1分,共15分). 1将下列二进制数0111,1111,1111 转换为16进制数和10进制数是() A.07FFH 3021D B. 6FEH 1021D C. 07FFH 2012D D. 07FFH 2047D 2. 在1BM Pc机的IN和OUT 指令中,I/o端口号通常是由Dx寄存器来提供的,但有时也可以在 指令中用一个字节来表示端口号。试问可以直接由指令指定的I/o端口号有多少个?( ) A. 127D B.255D C. 256D D.128D 3. 设MYDAT是一个字变量,下列指令中,错误的是() A.MOV BX,10100B B.MOV DS,AX C.ADD BX,[10100H] D.MOV BX,MYDAT[SI] 4.设有关寄存器及存储单元的内容如下:(DS)=2000H,(BX)=0100H,(SI)=0002H, (20100)=12H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(20202)=0B7H,(21203)=65H,试指出:MOV AX,1100h[BX]指令执行后,AX寄存器内是() A.5678H B.4C2AH C.2A4CH D.7856H 5.一台微型计算机的字长为16位,如果采用字节编址,那么它可以访问的最大存储空间是多少字节 ( ),试用16进制数表示该机的地址范围() A.1M 0~FFFFFH B.64K 0~FFFFH C.128K 0~FFFFH D.128K –FFH~FFH 6. 如果在一个程序段开始执行之前,(cs)=0A7F0H,(1P)=2B40H,试问该程序段的第一个字的物 理地址是() A.BAA40H B.AAB40H C.AAA40H D.0D603H 7.下列指令哪个是错误的(设OP1,OP2 是已经用DB定义的变量名)( ) A.CMP BL,OP1 B.MOV [BX],111001B C. INC OP2 D.SAR AX,CL 8.假定(DX)=10111001B,(CL)=05,(CF)=1试确定:RCL DL,CL 指令执行后, DX中的值是() A.00CEH B.009DH C.00B9H D.003BH 9. 有符号定义语句如下: BUFF DB 1,2,3,‘123’ EBUFF DB 0 L EQU EBUFF - BUFF 问L的值为多少( ) A.6D B.7D C.3D D.5D. 10. IBMPC机中下列那些寄存器可以用来存储存储器地址() A、BX,BP,SP,CX B、AX,SI,DI,DX C、BX,SI,DI,SP D、DX,SI,DI,SP 11.下列指令中正确的是() A.MOV [BX],[SI] B.MOV AX,[SI][DI] C.MOV BX,OFFSET NAME[SI] D.MOV BYTE PTR [100],100 12下列程序段执行后,寄存器BX中的内容是什么()

汇编语言设计复习题

一、选择题 1. 应用程序具有3个基本段,可执行指令应该保存于( A )。 A) 代码段B) 数据段C) 堆栈段D) 附加段 2. 8位补码F3H要扩展成16位补码应该是( D ),这样其真值才不变。 A) F0F3H B) 00F3H C) 10F3H D) FFF3H 3. “mov [ebx+8],eax”指令的目的操作数采用( C )寻址方式。 A) 存储器间接B) 寄存器C) 寄存器相对D) 立即数 4. 执行“sar ebx,1”指令后,ebx最高D31位一定等于( D ) A) 0 B) 1 C) D0位D) D30位 5. 在代码段内的-128~127个字节前后范围的跳转,可以用( C )类型名表示。 A) WORD B) DWORD C) SHORT D) FAR 6. 在Windows控制台环境,在当前光标显示信息应该使用( B )函数(功能)。 A) ReadConsole B) WriteConsole C) MessageBox D) GetStdHandle 7.汇编语言源程序经汇编后不能直接生成( C ) A) OBJ文件B) LST文件C) EXE文件D) CRF文件 8.在ADD指令中,两个操作数的物理位置不可以安排在( A )中。 A) 两个主存储单元 B) 一个主存储单元和一个数据寄存器 C) 两个数据寄存器 D) 一个堆栈单元和一个数据寄存器

9.假定ax=6987h,执行指令cmp ax,0eb30h后,则标志位CF和OF的状态( C )。 A)0,0 B) 0,1 C) 1,0 D) 1,1 10.假定esp=00120100h,eax=1f6c2107h,执行指令push ax后,存放数据07h的物理地址是( C )。 A) 00120104h B) 00120101h C) 001200fch D) 001200ffh 11.下列对标志寄存器中标志位产生影响的指令是( B ) A) jmp done B) shl eax, 2 C) call subp D) not eax 12. 假设CL=98H, 执行“MOVSX DX, CL”后,DX=( D ) A) F098H B) 0098H C) 1098H D) FF98H 13. “mov 80h[esi], eax”指令的目的操作数采用( C )寻址方式。 A) 存储器间接B) 寄存器C) 寄存器相对D) 变址寻址 14. 要在程序中定义缓冲区BUF,保留9个字节存储空间的语句是(C )。 A) BUF DW 9 B) BUF DB 9 C) BUF DB 9 DUP (?) D) BUF DW 9 DUP (?) 15. 下列指令执行后总是使CF=0,OF=0的是( A )。 A) AND B) NEG C) MOV D) INC 16. 下面指令的表示中,错误的操作是( C ) A) mov eax,[ebx+esi] B) jmp near ptr don1 C) dec [ebx] D) mul cx

1!《汇编语言程序设计》试题

《汇编语言程序设计》试题 1.将8进制的数23转化为3进制的数,其值为(201)。 23(8)=2*8^1+3*8^0=19(10) 19(10)=201(3) 2.汇编语言程序的开发过程要经历编辑、(汇编)、链接和运行调试等几个阶段。 3.Intel 8086 CPU中的段寄存器有CS、DS、ES和(SS)。 段寄存器CS、DS、ES、SS 4.汇编语言指令中操作数分为立即数操作数、寄存器操作数和(内存操作数)三类。 5.永远指向堆栈段栈顶单元的寄存器为(SP)。 6. 英文大写字母A的ASCII码为41H,则英文大写字母D的ASCII码为(44H)。 A=41H B=42H C=43H D=44H... 7. BCD码分为压缩的BCD码和(非压缩BCD码)两类。 8. 8086/8088CPU有(20)根地址线,可寻址1M字节的内存空间。 8086/8088CPU提供的地址总线有20位,2的20次方等于1M 同理,寄存器是16位的,所以就是2的16次方等于64K 9.80x86CPU有实模式和保护模式两种操作模式,而8086/8088CPU只能工作在(实)模式下。 10.(堆栈)是内存中的一块特定区域,其中的内容是按照后进先出的原则进行操作的。 11. 8086/8088CPU中变址寄存器有SI和(DI )两个。 12.主程序和子程序之间的参数传递通常有如下三种方法:通过寄存器传递、通过存储器传递和通过(堆栈)传递。 13.循环指令loop指令隐含的计数器是(CX )寄存器。 14. 已知8位二进制表示的整数X的补码为10011011,则-X的补码的二进制编码为(01100101)。 先各位取反,0变成1,1变成0。然后最低位加一。例子11111111,0011100; X=10011011 -X=01100101 -2X=(-X左移一位补零,多的那位忽略)11001010; 1/2 X=11001101(看X,右移一位原来第一位是什么现在还是什么) ;-1/2X=00110010(同理,看-X) 15.有如下定义:BUF DW 4,6,$+2,若汇编时BUF分配的偏移地址是0042H,则汇编后BUF数组中第三个字的值是(0048h)。 DW在内存空间中占2个字节,$是指向下一内存空间的意思,所以,图解可以有 00 <--0042h 04 <--0043h

汇编语言程序设计试题及答案合集

汇编语言程序设计试题及答案 1.对于有符号的数来说,下列哪个值最大(D) A:0F8H?????? B:11010011B C:82?D:123Q 2.下列有关汇编语言中标号的命名规则中,错误的是(D) A:通常由字母打头的字符、数字串组成 B:标号长度不能超过31个字符 C:?和$不能单独作为标号 D:.号不可位于标号首 3.8088/8086存储器分段,每个段不超过(D ) A.64K个字B.32K个字节 C.1兆个字节??D.64K个字节 4.寻址指令MOV CX, [BX + DI + 20]使用的是哪一种寻址方式(B) A:寄存器寻址???B:相对基址变址寻址 C:变址寻址????D:基址变址寻址 5.若AX= - 15要得到AX=15应执行的指令是(A ) A.NEG AX B.NOT AX C.INC AX D.DEC AX 6.8086/8088系统执行传送指令MOV时( A) A.不影响标志位? B.影响DF方向标志 C.影响SF符号标志?? D.影响CF进位标志 7.若要求一个操作数中的若干位维持不变,若干位置“1”,可以使用(B) A:NOT B:OR??C:AND???D:XOR 8.下列指令中段默认为堆栈段的是(C) A.MOV AX,[BX+SI+10] B.ADD AX,ES:[SI] C.SUB [BX],[BP][DI] D. MOV DX,[1000H] 9.关于8086/8088微机系列,下列说法哪个是正确的(D) A:一个存储单元由16个二进制位组成,简称字。

B:当存储一个字数据时,低字节放高地址位,高字节放低地址位。 C:在内存空间中,可以无限分配段,且段的大小不受限制。 D:段与段之间可以邻接,也可以重叠。 10.下列关于堆栈的说法,错误的是(D) A:以“先入后出”为原则。 B:栈区最高地址单元的前一个单元为栈底。 C:运行中SP寄存器动态跟踪栈顶位置。 D:压栈和弹出都是以字节为单位。 11.表示过程定义结束的伪指令是( A) A.ENDP B.ENDS? C.END D.ENDM 12.BUF1 DB 3DUP(0,2 DUP (1,2),3) COUNTEQU$-BUF1 符号COUNT等价的值是( B) A.6 B.18 ??C.16 ?D.9 13.下列标志位中,可以用来判断计算结果正负的是(B) A:PF???B:SF? C:DF?? D:OF 14.下列指令正确的是( CD) A. MOV [100H], [BX] B.MOV DS, ES C. ADD V[BX],CX ?? D.MOV AX, 34H 15.下列哪个寄存器是属于指针寄存器(C) A:SI ?? B:DX???? C:SP??D:ES 二、填空题 (每小题4 分,共20 分) 1.下列程序段求数组FLD的平均值,结果在AL中。请将程序填写完整(不考虑溢出)?FLD DW 10, -20, 30, -60, -71, 80,79, 56 _LEA SI,FLD______

《汇编语言程序的设计》期末复习试题_

一、填空题 1.一个十进制数其对应的二进制数为、十六进制数为 23H 2.将 8存放在一个字单元中 , 则该单元中二进制代码是 0008H 3.计算机软件分为两个部分即系统软件和应用软件而汇编程序属于 系统软件 , 汇编语言应用程序属于应用软件 4.把汇编语言源程序翻译成计算机能够识别、执行的目标程序的软件称为汇编程序 8088 CPU内部一般用来存放数据的寄存器有 AX BX CX DX 8088 CPU内部用来存放段地址寄存器的有 CS DS SS ES 7.逻辑地址由段地址与偏移地址组成 8.一个语句的名字项可以是标号或变量 , 在程序中它们两个在书写形式上的主要区别是 标号以冒号结尾而变量不以冒号结尾 9. 在 PSW 中 , 用以记录当前运算结果特征信息的那些位称为状态标志位 , 一 般是由 CPU 自动设置。 10.存储器单元与物理地址的关系是一一对应 ,在一个逻辑段内 , 每个单元对应

的段地址是相同的 ,而偏移地址是不同的 11.在 I/O接口中 , 为每个可访问的寄存器分配的地址是端口地址 12.用以指示当前堆栈栈顶的指针寄存器是 SP 13.机器指令是一组规定计算机的操作类型及相关操作数的二进制代码 14. 假设执行指令前 BX=5678H, CL=8,指令 ROL BX, CL 执行后 BX 的内容是7856H 15.一条指令的基本结构一般由操作码字段和操作数字段两个部分 组成。 8088 存储器地址分段时,每个段起始地址的特征是二进制表示的地址中低四 位都为 0 17.所谓“寻址方式”是指在指令中用以说明操作数所在地址或位置的方法 18.在指令中直接给出操作数的寻址方式称为立即数寻址 19.无符号数和带符号数的两组条件转移指令,每条指令都有完全等效的两个指令助记 符,例如, JL 指令另一个指令助记符是 JNGE 8088指令系统中 , 用以描述 (说明寄存器操作数的寻址方式是寄存器寻址方 式 21.设 MASK 为一个变量 , 在“ MOV AX,MASK[SI+BX]”指令中 , 源操作数的寻址方式是基

汇编语言程序设计习题

第一章基础知识 习题 1.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。 ①无符号十进制数136 ②带符号十进制数-120 ③压缩型BCD码十进制数88 ④8位二进制数-8的补码表示 2.十进制数转换为二进制数、八进制数、十六进制数 ①123 ②87 ③12.25 ④177 ⑤215.125 ⑥113 3.十进制数转换为BCD码 ①111 ②131 ③23.44 ④123 ⑤345 ⑥127.36 4.完成下列十六进制数的减法 ①FFFF- AAAA= ②12DF – 02DA = 5.写出下列二进制数的补码表示: ①-1001110 ②-1001010 ③-0010110 ④+10101011 6.16位的二进制补码数所能表示的十进制最大数和最小数分别是什么? 16位二进制数所能表示的无符号数的范围又是多大? 7.假设两个二进制数A=0110l010,B=l0001100,试比较它们的大小 ①A、B两数均为带符号的补码数。 ②A、B两数均为无符号数。 第二章80x86计算机组织 1.一台微型计算机的字长为16位,如果采用字节编址,那么它可以访问的最大存储空间是多少字节?试用16进制数表示该机的地址范围.。 2.PC机有哪两种主要的存储器?它们所起的主要作用是什么? 3.有两个16位字lEF5和2A3c分别存放在PC机存储器的000B0H和000B3H单元中,请用图表示出它们在存储器里的存放情况。 4.写出下列存储器地址的段地址、偏移地址和物理地址。 (1)2314:0035 (2)1FD0:000A 5.如果在一个程序段开始执行之前,(CS)=0A7F0H,(EP)=2D40H,试问该程序段的第一个字的物理地址是什么? 6.如果一个堆栈从地址1250:0000开始SP的内容为0052H,问: (1)栈顶地址是什么? (2)栈底地址是什么? (3)在SS中的段地址是什么? (4)存入数据3445H后,SP的内容是多少? 第三章80x86的指令系统和寻址方式 1.假定(DS)=212AH,(CS)=0200H,(IP)=2BC0H,(BX)=1200H D=5119H,(224A 0)=0600H、(275B9)=098AH,试确定JMP指令的转移地址。 (3)段内直接寻址。 (2)使用Bx及寄布器寻址方式的段内间接寻址。 (3)使用Dx及寄存器相对寻址方式的段内间接寻址。

汇编语言程序设计期末复习题

汇编语言程序设计复习题 一、选择题 1.下面的数值表示中,和127相等的是哪一个(D) (A)11111111B (B)127H (C)80H (D)7FH 2.如果(AL)=35H,执行AND AL,0FFH指令后,CF=(A);CF为进位位 (A)0 (B)1 (C)2 (D)和执行AND AL,0指令前的取值保持一致 3.如果(SP)=30H,执行PUSH BX指令后,(SP)=(B);S P←SP-2 (A)28H (B)2EH (C)32H (D)31H 4.如果(AL)=01111111B,执行INC AL指令后,CF=(D) (A)1 (B)0 (C)2 (D)和执行INC AL指令之前的取值保持一致 5.LOOP指令隐含使用并用作循环记数器的是哪一个寄存器(A) (A)CX (B)BX (C)AL D)SI 6.在DEBUG中,T命令的功能是(C) (A)观察某内存单元的当前内容(B)连续运行被调试的程序 (C)单步执行下一条指令(D)修改指定寄存器的内容 7.如果当前(BL)=57H,执行指令ADD BL,0F0H后,OF标志位的取值为(B);P25 (A)1 (B)0 (C)不确定(D)与执行该指令前的取值保持一致 (注:若两个操作数的符号相同,而结果的符号与之相反时OF=1,其他情况OF=0) 8.如果(AL)=01100011B,(AH)=00100010B,执行ADD AL,AH指令后, 正确的结果为(B ) (A)(AL)=01100011B,CF=0 (B)(AL)=10000101B,CF=0 (C)(AL)=00100101B,CF=1 (D)(AL)=10000101B,CF=1 9.条件转移指令的最大转移范围为(B);规定见P126 (A)没有转移范围的限制(B)-128到127个字节 (C)-32768到32767个字节(D)0到255个字节 10.如果(AL)=0DH,执行SUB AL,80H 指令后,正确的结果为哪一个(A) (A)(AL)=8DH,OF=1 (B)(AL)=0DH,OF=0

汇编语言基础练习题目

一、填空 1.在8086/8088的计算机中,存储单元的20位物理地址由两部分组成,即16 位的段地址和16位的偏移地址,物理地址= 段地址×10H+偏移量。 2.段的起始地址必须是某小段的首地址,它能被 10H 整除。 3.已知01020H字单元的内容为6A58H,请分别写出它的两个字节单元的地址和内容:(01020H)=58H,(01021H)=6AH。 4.指令执行后,若标志寄存器的ZF=0,则表示结果不为0;若SF=0,则表示结果的符号是正号,即结果为正数。 5.控制器从存储器取出一条指令后,指令指针寄存器IP的内容是将要执行的下一条指令开始的偏移地址。 6.段地址和偏移地址为1000:127B的存储单元的物理地址是 1127BH。 解:由物理地址= 段地址×10H+偏移量的公式可得 物理地址=1000H×10H+127BH=10000H+127BH=1127BH。 二、选择 1.与CS寄存器组合才能形成代码段的物理地址的寄存器是( C )。 A.SP寄存器 B.BP寄存器 C.IP寄存器 D.BX寄存器 2.如果存储器分段时,一个段最多允许16K个字单元,那么表示该段内偏移地址的二进制数至少是( A )。 A.15位 B.16位 C.17位 D.18位 解:16K个字单元,即为32K个字节单元。由于2的15次方为32K,因此至少需要15位二进制数才能表示16K个字单元。 3.已知一数据段的段地址是0100H,这个段的第6个字单元的物理地址是( B )。 A.01010H B.0100AH C.01012H D.01006H 解:由于一个字单元占用两个字节,第一个字单元的偏移地址为0000H,因此第一个字单元的物理地址为01000H。以后每一个字单元的地址在前一个的基础上加2,所以这个段的第6个字单元的物理地址是0100AH。注意:第6个字单元

大工19秋《汇编语言程序设计》大作业题目及要求

学习中心: 专业: 年级:年春/秋季 学号: 学生: 题目: 1.谈谈你对本课程学习过程中的心得体会与建议? 2.《汇编语言程序设计》课程设计,从以下5个题目中任选其一作答。 《汇编语言程序设计》课程设计 注意:从以下5个题目中任选其一作答。 总则:只能使用汇编语言进行编制,不能选用C/C++等高级语言 作业提交: 大作业上交时文件名写法为:[姓名奥鹏卡号学习中心](如:戴卫东1浙江台州奥鹏学习中心[1]VIP) 以附件word文档形式上交离线作业(附件的大小限制在10M以内),选择已完成的作业(注意命名),点提交即可。如下图所示。

注意事项: 独立完成作业,不准抄袭其他人或者请人代做,如有雷同作业,成绩以零分计! 题目一:进制转换程序 要求:(1)撰写一份word文档,里面包括(算法思路、算法程序框图、主要函数代码、使用指令具体含义)章节。 (2)算法思路:比如可设计二进制转化十六进制的算法, 简单介绍该算法的基本思想,100字左右即可。 (3)算法程序框图:绘制流程图或原理图,从算法的开始 到结束的程序框图。 (4)主要函数代码:列出算法的具体代码。 (5)列出算法中使用指令的含义,比如解释MOV指令的 含义,ADD指令的含义,至少撰写十个指令。 总则:只能使用汇编语言进行编制,不能选用C/C++等高级语言! 题目二:冒泡排序算法 要求:(1)撰写一份word文档,里面包括(算法思路、算法程序框图、主要函数代码、使用指令具体含义)章节。 (2)算法思路:简单介绍冒泡排序算法的基本思想,至少 100字。 (3)算法程序框图:绘制流程图或原理图,从算法的开始 到结束的程序框图。

大工20秋《汇编语言程序设计》大作业题目及要求

题目一:十进制转换十六进制程序设计 1.谈谈你对本课程学习过程中的心得体会与建议 本学期开始,我便意识到汇编语言绝不是轻易能弄懂的。相较于曾经学过的C语言,电脑等于在迁就人的思维方式,但汇编却是接近机器语言的一门语言,我们学习和编写程序时必须要去迁就电脑的思维方式,有时候还要设身处地地用电脑的角度去思考问题,这就是我学习汇编语言时感受最深的地方,想起来很简单,写起来相当的不易。 在学习之前我们都需要明确何为汇编语言。计算机能够直接识别的数据是由二进制数0和1组成的代码。机器指令就是用二进制代码组成的指令,一条机器指令控制计算机完成一个基本操作。为了克服机器语言的缺点,人们采用助记符表示机器指令的操作码,用变量代替操作数的存放地址等,这样就形成了汇编语言。在经过一个学期系统性的学习后,自己也算初窥门径,有所收获。 首先,对一样新课程要学会与学过的课程作比较,这样有助于我们更快进入状态,最重要的是一些思考问题,实现功能的逻辑的思考,会帮助我们很快的找到编写程序的思路和方向。汇编语言与其它的程序设计语言相比,操作的是更加底层的东西,它可以直接与硬件打交道,而别的语言基本不可能实现这样的功能。既然是与硬件打交道,那么我们在写程序的时候就要更加小心了,可能一不小心就会把程序跑丢了。 其次,学习汇编语言,首要问题是学习80X86指令系统。如果能将指令系统中的各个助记符、格式等都能完全掌握并灵活运用,大部分工作就已经完成了。指令系统确定了CPU所能完成的功能,是用汇编语言进行程序设计的最基本部分。如果不熟悉汇编指令的功能及其有关规定,那肯定不能灵活使用汇编语言。 其中方括号中的内容为可选项。指令助记符决定了指令的功能,对应一条二进制编码的机器指令。指令的操作数个数由该指令确定,可以没有操作数,也可以有一个或多个操作数,大多数指令要显示写出来,还有些操作数是隐含的。 再者,在编写汇编程序时,应该注意特别容易出现的错误,例如在编写数据传送指令时,目的操作数和源操作数的类型一定要匹配,CS不能作为目的操作数,offset后只能跟简单地址符号,等等。 在学习汇编语言时,指令的功能是学习和掌握的重点,要准确有效并合理的使用这些指令,必须了解一些使用的规则。现对汇编语言编程时的规则进行总结,

2015年6月汇编语言程序设计-试题库(给学生复习)解析

选择题 1、设DS=8225H,DI=3942H,指令MOV BX,[DI]源操作数的物理地址是( ) A、85B92H B、86192H C、BB690H D、12169H 2、计算机能直接识别并执行的语言是( )。 A、汇编语言 B、机器语言 C、高级语言 D、低级语言 3、循环指令LOOPNZ终止循环的条件是( )。 A、CX=0,且ZF=0 B、CX=0,或ZF=1 C、CX≠0,且ZF=0 D、CX≠0,或ZF=1 4、循环控制指令LOOPNZ/LOOPNE继续执行循环的条件是()。 A、CX≠0且ZF=1 B、CX≠0且ZF=0 C、CX≠0或ZF=1 D、CX≠0或ZF=0 5、已知ARRY DB 500 DUP(0),则ARRY+100存储单元内容为()。 A、100 B、500 C、0 D、101 6、…THIS IS A BOOK?作为字符串存储在数据段时应使用数据定义指令是()。 A、DB B、DW B、DD D、以上三种情况均可 7、对一个段的起始地址描述,下面不正确的是()。 A、可在内存任何地方 B、段的起始地址能被16整除 C、段的起始地址用16进制数表示,但最后一位为0 D、段的起始地址可用任意一个四位16进制数乘以16来表示 8、要在程序中定义缓冲区BUF,保留9个字节存储空间的语句是( )。 A、BUF DW 9 B、BUF DB 9 C、BUF DB 9 DUP (?) D、BUF DW 9 DUP (?) 9、AX,BX,CX都是通用寄存器,但它们又可用于专门的目的,它们的名字称为()。 A、累加器、变址寄存器、计数器 B、累加器、基址寄存器、计数器 C、累加器、指针寄存器、计数器 D、累加器、变址寄存器、指针寄存器 10、变址寄存器指的是()。 A、SI、DI B、SI、SP C、SP、BP D、DI、DX 11、在执行子程序段间调用CALL SUBR指令后,SP的值( )。

大工19春《汇编语言程序设计》大作业题目及要求答案

学习中心: 专业:计算机应用技术 年级:年春/秋季 学号: 学生: 题目 1.谈谈你对本课程学习过程中的心得体会与建议? 时间过得真快,一学期的学习马上就要结束了,经过一个学期的学习,我也慢慢摸出了汇编学习的规律,特别感谢指导老师的耐心教导。 首先,学习这门语言时如果能联系上以前学过的其他高级语言的知识,则会起到良好的效果。例如C语言程序的运行逻辑结构有顺序(按语句依次执行)、分支结构(IF...THEN...ELSE...),循环结构(FOR...NEXT)三种结构,也通过C 语言了解并掌握了什么是子程序,什么是调用。事实上,汇编语言中有关程序结构,子程序等等的知识都是跟C语言十分相似的,只是在编程时用到的语言不同:汇编语言完全面向机器,需要指明数据在寄存器、内存中的流向。 第二,学习汇编语言,首要问题是学习80X86指令系统。如果能将指令系统中的各个助记符、格式等都能完全掌握并灵活运用,大部分工作就已经完成了。指令系统确定了CPU所能完成的功能,是用汇编语言进行程序设计的最基本部分。如果不熟悉汇编指令的功能及其有关规定,那肯定不能灵活使用汇编语言。 还有一点十分重要。和所有的程序设计语言一样,要学好汇编语言,实验是必不可少的环节。我们深有体会:书上的程序都能看懂,基本原理也都明白,但是在自己亲手编写程序时,却无从下手,甚至连第一句该怎么写都不知道。通过实验,可以在很大程度上加深印象。在书上看程序,一切都是理所当然,十分顺利,而自己动手,才会真正发现自己的不足之处。程序的编写在记事本中进行即可,掌握debug的使用对实验是有很大帮助的。 现在汇编语言的学课程已经告一段落了,学习过程中遇到的所有困难以及遗留的难点都需要我们在其余时间里逐步攻克,在打好基础的前提下,学习更加

汇编语言课程设计题

东方科技学院 10 计算机专业 《汇编语言与微机原理》课程设计题目(2011) 题目一定时/计数技术应用程序设计 设计一个数字钟,在屏幕上显示分:秒(mm:ss)。按下非空格键开始计时,并显示 00:00,每过1秒,ss增1,到60秒mm增1,到60分就是1小时。经过1小时后又回到 00:00重新计数。当按下空格键时,程序返回DOS,数字钟消失。 题目二信息检索程序设计 完成一个信息检索系统。在数据区,有9个不同的信息,编号0-8,每个信息包括40个字符。从键盘输入0-8之间的一个编号,然后再屏幕上显示出相应编号的信息内容,按“q”键退出。 题目三图形变换程序设计 完成一个图形变换的程序,系统具有 4种可选择的功能,按字母“Y”画一个用点组成的圆;按字母“S”画一个用不同颜色填充的三角形;按字母“Z”画一个用不同颜色填充的矩形;按“q”键退出。 题目四代码转换程序设计 完成一个字母或数制之间的转化程序,主程序分别具有5种可选择的子功能,按相应的字符可分别进入相应的子功能并在屏幕上显示结果,按“q”键退出。5种可选择的子功能分别为: 1)实现小写字母向大写字母的转换 2)实现大写字母向小写字母的转换 3)实现二进制数向十六进制数的转换 4)实现十六进制数向二进制数的转换 5)实现十六进制数向十进制数的转换 题目五中断处理程序设计 编写一个中断处理程序,要求在主程序运行过程中,每隔 20秒响铃一次,同时在屏幕上显示信息”The bell is ring!”,按键后恢复原状。 题目六指法练习程序 1.从屏幕上方以一定的时间间隔随机落下可显示字符,字符的出现位置亦是随机的; 2.在多个字符(可以简化为仅有一个字符)下落的过程中可输入任意键,若键入与其中的任意一个字符相匹配的键,则该字符高亮显示并发出蜂鸣声,同时计分; 3.按ESC键结束练习并显示命中率; 4.再次按ESC键退出。 题目七密码设置模拟 编写程序可以进行密码的设置(第一次)和修改(已设置密码)。要求输入的密码用*显示。 题目八计算器 编辑程序可以实现键盘输入数据与运算符,进行“加减乘除”运算。(提示:先输入数据与运算符,保存,再按照运算符选择对应的子程序;输入的数据是用字符表示的,需要转换;要有良好的界面(提示信息)) 题目九吃豆子程序 在屏幕上显示多行“豆子”(用“.”表示),用一个“嘴巴”(用字符“C”表示),程序运行时,单击空格,“嘴巴”开始从左到右逐行还是“吃豆子”,一直到“豆子”被吃完停止或者单击空格暂停; 题目十星期判断程序 输入年、月、日,能够判断当日的星期数,并进行输出。(可设某年的 1月 1日为起点,根据相差的天数与 7的关系进行判断); 题目十一查找字符串中的指定字符 基本功能:1做一个操作界面,提示操作:输入一串字符串、输入所查找的字符或字符串等;2显示出查找到的数目;3用不同颜色或闪烁标示出所找到的字符或字符串;

相关文档
最新文档