;---------------------------------------------
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
//////////////////////////////////////////////
建議加分,寫了這麽多哦
哈哈哈哈
若有不足之處,請大家指點