急急急!!求汇编语言编程答案!

请用汇编语言编写!1.求0~7之间某个整数的平方。该整数及结果均放在内存中2.已知三个带符号的字节数据a,b,c存放在ADR开始的连续单元中,若三个同时为正数则FLAG单... 请用汇编语言编写!
1.求0~7之间某个整数的平方。该整数及结果均放在内存中

2.已知三个带符号的字节数据a,b,c存放在ADR开始的连续单元中,若三个同时为正数则FLAG单元置0,若同时为负数,则FLAG单元置1,否则FLAG单元置全1,请编写完整源程序。

3.从键盘读入一个无符号的十进制数串(0~65535),将其对应的数值存入变量BUF。

请各位高手帮帮忙吧,这三个题很重要!!
会一两题也行啊!!!
展开
 我来答
lvxinn2006
2010-05-08 · TA获得超过213个赞
知道小有建树答主
回答量:93
采纳率:0%
帮助的人:84.9万
展开全部
第一道题:buff里存的就是平方值,可以用对应ascii字符验证buff值
dseg segment
message db 0dh,0ah,'Please input a number: $'
wrong db 0dh,0ah,'The number is not between 0 to 7!',0dh,0ah,'$'
value db 0dh,0ah,'The ASCII char of the value is : '
buff db 0
db 0dh,0ah,'$'
dseg ends

cseg segment
assume cs:cseg, ds:dseg
start: mov ax, dseg
mov ds, ax
mov dx, offset message
mov ah, 9
int 21h
mov ah, 1
int 21h
xor ah, ah
cmp ax, '0'
jb error
cmp ax, '7'
jbe A
error: call errordisp
jmp start

A: sub al, 00110000b
mul al
mov buff, al
mov dx, offset value
mov ah, 9
int 21h

mov ah, 4ch
int 21h

errordisp proc
mov dx, offset wrong
mov ah, 9
int 21h
ret
errordisp endp
cseg ends
end start

第二题
dseg segment
ADR db 1, 2, 3 ;假设a,b,c初值1,2,3
FLAG db ?, '$'
buff db 0
dseg ends

cseg segment
assume cs:cseg, ds:dseg
start: mov ax, dseg
mov ds, ax

mov si, offset ADR
mov al, [si]
mov bl, [si+1]
mov cl, [si+2]

shl al, 1
adc buff,0
shl buff,1

shl bl, 1
adc buff,0
shl buff,1

shl cl, 1
adc buff,0

cmp buff,0111b
je A
cmp buff,0000b
je B
mov FLAG,0FFH
jmp exit
A: mov FLAG,1
jmp exit
B: mov FLAG,0

exit:
mov ah, 4ch
int 21h
cseg ends
end start
new妞宁
2010-05-08 · TA获得超过1743个赞
知道小有建树答主
回答量:959
采纳率:100%
帮助的人:673万
展开全部
先给你第三题的答案:
code segment
assume cs:code,ds:code
start: jmp begin
cr db 0dh
buf dw ?
begin: mov ax,code
mov ds,ax

mov buf ,0

;读入字符,直到回车为止
input:mov ah,1
int 21h
cmp al,cr;判断输入是否是回车键
je exit
;buf=buf*10+al
and al,0fh
shl buf,1
mov bx,buf
shl buf,1
shl buf,1
add buf,bx
mov ah,0
add buf,ax
jmp input
exit:
mov ah,4ch
int 21h
code ends
end start

参考资料: 汇编书

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-05-08
展开全部
第一题:
DATA SEGMENT
MSG1 DB 'PLEASE INPUT A NUMBER $'
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START: MOV AX,DATA
MOV DS,AX
LEA DX,MSG1
MOV AH,9
INT 21H
MOV AH,1
INT 21H
MUL AL
MOV AH,4CH
INT 21H
CODE ENDS
结果保存在寄存器AL中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式