有请汇编语言程序设计方面的高手做题!

一、填空
1、一存储器单元的逻辑地址为17DE:000A,其中17DE是该存储单元的( ),000A是该存储单元的( ),该存储单元的实际物理地址为( )。
2、假如堆栈指针(SP)=2000H,数据寄存器(AX)=3000H,(BX)=5000H,当连续执行四条指令PUSH AX,PUSH BX,POP AX,POP BX后,(AX)=( ),(BX)=( ),(SP)=( )。
3、8086/8088汇编语言程序的语句包括( )语句、( )语句和( )语句,其中( )语句在汇编时执行。
DOS功能子程的中断调用包含( )( )( )三个要求,其中( )不是必备的。
二、判定以下指令的正误
1、mov ds,dseg ( )
2、mov b1,100h ( )
3、mov ax,word ptr[bx] ( )
4、test b1,,[bx] ( )
5、imul 3 ( )
6、sal ax,3 ( )
7、and ax,offfoh ( )
8、push al ( )
9、cld ( )
10、out 378h,al ( )
三、阅读程序,从备选项中选择合适的项填入程序的( )处。
1、以下给电子基团出求ary数组各元素之和的程序,求和的功能由proadd子程序完成。
备选项:①bx②[bx]③[di]④[si]⑤di⑥si⑦ax⑧cx
data segment
ary dw 1,2,3,4,5,6,7,8,9,10
count dw 10
sum dw ?
table dw 3 dup(?)
data ends
stack segment para stack'stack'
stapn db 100 dup(?)
stack ends
code segment
assume cs:code,ds:data,ss:stack
main proc far
start:mov ax,data
mov ds,ax
mov table,offset ary
mov table+2,offset count
mov table+4,offset sum
mov bx,offset table
call proadd
mov ah,4ch
int 21h
main endp
proadd proc near
push ax
push cx
push si
push di
mov si,(?)
mov si,[bx+2]
mov cx,(?)
mov di,[bx+4]
sor ax,ax
next:
add as,[si]
add si,2
loop next
mov [di],ax
pop(?)
pop(?)
pop(?)
pop(?)
rer
proadd endp
code ends
end start

我会在线等,先谢谢高手了!
2、以下程序的功能是:首先显示提示信息“Enter two words please:”,然后等待用户输入两个字符的口令,口令中的两个字符存储到变量passw中但不显示在屏幕上,用户每按一个键则屏幕上显示一个“*”,两个“*”均显示在提示信息的下一行。填写时注意:程序中有4处()需要从备选项中选择填写。
备选项:①01H②02H③06H④07H⑤08H⑥09H⑦0aH⑧4cH
deseg esgment
passw db ?,?
disp db 'Enter two words please:',0ah,0dh,'$'
mm db '*$'
deseg ends
sseg segment para stack 'stack'
stapn db 80h dup(0)
sseg ends
cseg segment
assume cs;cseg,ds:dseg,ss:sseg
start:mov ax,dseg
mov ds,ax
mov dx,offset disp
mov ah,(?)
int 21h
mov si,offset passw
mov cx,2
again:mov ah,(?)
int 21h
mov [si],al
inc si
mov dx,offset mm
mov ah,(?)
int 21h
loop again
mov ah,(?)
int 21h
cseg ends
end start

第1个回答  2009-07-18
只回答问题,不做题。特别是题又多,分又少的

求汇编语言与程序设计高手来。我需要组一份汇编试题请高手给做下。谢 ...
1.设(DS)=2000H, (ES)=3000H, (SS)=4000H, (BX)=1000H, (BP)=1000H, (SI)=0001H, (DI)=0002H, (21000H)=1234H, (21002H)=5678H, (31000H)=9ABCH, (31002H)=0DEF0H, (41000H)=3456H, (41002H)=789AH, 计算下列各指令中源操作数的物理地址,并指出指令执行后AX寄存器...

汇编语言程序设计题求高手
1.编写一个程序实现:在BUF开始的存储区中存放30个带符号数,试统计其正数、负数和零的个数,并将统计的个数分别放到PLUS、NEGATIVE、ZERO单元中。; 本程序通过编译,运行正确 Code Segment Assume CS:Code,DS:Code BUF db 23,-69,0,35,46,0,57,68,0,79,81,98,-43,251,21,15,-69,0,5...

汇编语言的高手请进,问几个简单题目
1 XOR AL,AL INC AL NEG AL INC AL MOV BL,7FH ADC AL,BL 答:上述程序运行后,AL=80H,CF=0 2 下面程序段是判断寄存器AH和AL中第3位是否相同,如相同,AH置0,否则AH置非0。试把空白处填上适当的指令(一个空白只填一条指令)。答: xor ah,al AND AH,08H jz ZERO...

高手请进,问汇编语言程序设计问题
33.已知:BX=4567H NEG BX INC BX NEG BX DEC BX 程序段执行后,BX=___,CF=___。34. MOV BL,64H MOV CL,03H XOR AX,AX AGAIN:ADD AL,BL ADC AH,0 DEC CL JNZ AGAIN 问:(1)该程序段完成的功能是:(2)AX=___。35.已知数据段中定义 DAT1 DB 12H,34H,56H,7...

急求:单片机MS-51,用汇编语言编写程序的问题. 高手的高分,谢谢,
用B方法即可。但是乘以 3.53,还应该研究一下。实际上,不是255对应900,而是256对应900。那么:900 \/ 256 = 3.515 把0.015忽略,由此产生的误差,小于百分之一。那么,全部使用整数的运算,有:(0~255) * 35 = (0~8925)显示的时候,只是显示前3位,即可。--- 用8位的AD转换器,精度就...

高分悬赏,汇编语言高手进
; 下面的程序是16位汇编,编译通过,运行正确。; Program Name: Hex_ASCII.asm Hex_ASCII SEGMENT ASSUME CS:Hex_ASCII,DS:Hex_ASCII ORG 100H Start: jmp Begin DecimalNum db 76 ;无符号字节数 Change_Hex proc near cmp al,9 ja Charactor or al,30h stosb ret Charactor: sub al,9 or ...

汇编高手来帮帮忙 谢谢了在线等答案,
五、程序设计题(2道小题,共20分)1、以下5个小题,请分别用一条MASM语句完成其要求。(1)将45H,0F000H,89H存放在变量XYZ的存储单元中。XYZ DB 45H,0F000H,89H (2)预留100个字节单元的存储空间,用变量名BUFFER表示 BUFFER DB 100 DUP(?)(3)将字符串“How are you !

汇编语言问题,高手指点
编译器默认的数据是十进制,若要使用其它进制数据,要在数据后面显式缀以进制符号。如十六进制用“H”表示、八进制用“O”或“Q”表示、二进制用“B”表示。用文本编辑器编写的汇编语言源程序,需要编译、链接后,才能运行。若程序中有语法或其它错误,是通不过编译的。debug下,除了指令,就是数据,...

汇编语言程序设计题
汇编语言程序设计模拟题一、填空: 1、CPU的指令指针寄存器为: ,它与 寄存器联用确定下一条指令的物理地址。 2、若要将所有数据及代码都放在一个段内,应建立 存储模型。 3、操作数:ES:TABLE[DI]、FEES[EBX*2]、MSAK[EAX][EBX]分别采用 、 、 寻址方式。 4、读取当前光标位置可使用BIOS INT 10H的 号功能...

汇编语言高手进,急用,在线等答案!请确保答案的正确性!
;答案不一定能够完全确保正确,由于时间和能力有限 1.;这题,看了很久也看不出怎么填,;是不用CX用统计‘1’的个数啊,;还这里IMP L1,IMP指令我没看过,只看过JMP ;如果IMP是JMP的话,那会不会出现死循环的,2.;这里由题中JB知应该是无符号数相比,;所以不用考虑符号了 CMP DX,BX JA L2...

相似回答
大家正在搜