宽带重新连接:谁能帮我编程啊~?汇编程序的,最初级的

来源:百度文库 编辑:高考问答 时间:2024/04/29 09:13:26
1.设内存DATA1单元开始存放10个无符号的字节数据,编写程序找出其中最大的数存入MAX单元.

2.设在内存数据区中,从TABLE单元开始连续存放0-9的平方表,平方值均以BCD码(二-十进制)表示,要求从键盘上输入一个数X(X为0-9)查表求出X的平方值存入RCT单元,并将结果在屏幕上显示出来.

第一题:
;---------------------------------------------
DATA segment
DATA1 db 45,25,51,65,24,16,98,35,20,82 ; 10 data max:98---b
MAX db ?
DATA ends
;---------------------------------------------
CODE segment
ASSUME CS:CODE,DS:DATA
START:
mov ax,DATA
mov ds,ax
;------------------------ Codes below ---
lea si,DATA1
lea di,MAX
mov cx,10
xor ah,ah
NEXT:
mov al,[si]
cmp ah,al
jae OK
mov ah,al
OK:
inc si
loop NEXT
mov [di],ah
;----------------------------------------
mov dl,[di]
mov ah,2
int 21h
;将输出 b ,即最大数98---b的ASCII码
;----------------------------------------
Exit:
mov ah,1
int 21h
mov ah,4ch
int 21h
CODE ends
end START ;End Program
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

第二题:
;;----------------------------------------------
;---------------------------------------------
DATA segment
TABLE dw 0000h,0001h,0004h,0009h,0106h
dw 0205h,0306h,0409h,0604h,0801h
Msg db 0dh,0ah,'The result is:',0dh,0ah
num db 0
Msg2 db '^2 = '
RCT dw 0000h
Msg3 db 0dh,0ah,'Press any key to Exit!$'
DATA ends
;---------------------------------------------
CODE segment
ASSUME CS:CODE,DS:DATA
START:
mov ax,DATA
mov ds,ax
;------------------------ Codes below ---
mov ah,1
int 21h
lea di,num
mov [di],al
sub al,30h ;输入的是字符ASCII,减30为实际数字
sal al,1
mov si,offset TABLE
xor ah,ah
add si,ax
mov dx,[si]
add dl,30h
add dh,30h
lea di,RCT
mov [di],dh
mov [di+1],dl

lea dx,Msg
mov ah,9
int 21h
;----------------------------------------
Exit:
mov ah,1
int 21h
mov ah,4ch
int 21h
CODE ends
end START ;End Program

//////////////////////////////////////////////
建议加分,写了这么多哦
哈哈哈哈
若有不足之处,请大家指点

建议发到csdn上去,那有很多人喜欢做这些~