1樓:匿名使用者
1 .2個個位數相加(其結果
<16),通過鍵盤輸入輸出
data segment
str1 db 0ah,0dh,'opr1 = ','$'
str2 db 0ah,0dh,'opr2 = ','$'
res db 0ah,0dh,'sum = ','$'
result db 0
data ends
code segment
assume cs:code,ds:data
main proc far
start:
push ds
sub ax,ax
mov ax,data
mov ds,ax
lea dx,str1
mov ah,09h
int 21h ; print 'opr1 = '
input1:
mov ah,08h
int 21h
cmp al,30h
jb input1
cmp al,39h
jg input1
add result,al ; result + opr1
mov ah,02h
mov dl,al
int 21h ; print opr1
lea dx,str2
mov ah,09h
int 21h ; print 'opr2 = '
input2:
mov ah,08h
int 21h
cmp al,30h
jb input2
cmp al,39h
jg input2
add result,al ; result + opr2
mov ah,02h
mov dl,al
int 21h ; print opr2
sub result,60h ; digit(0-9) = asc(30h-39h)
lea dx,res
mov ah,09h
int 21h ; print 'sum = '
mov ah,02h
cmp result,10
jge firstnum ; result >= 10
jmp nextnum
firstnum:
sub result,10
mov dl,31h
int 21h ; print '1'
nextnum:
mov dl,result
add dl,30h
int 21h ; print result
mov ax,4c00h
int 21h
main endp
code ends
end start
------------- screen ---------------
opr1 = 8
opr2 = 9
sum = 17
2. 輸入小寫字母,輸出大寫字母
data segment
turnto db ' -> ','$'
data ends
code segment
assume cs:code,ds:data
main proc far
start:
push ds
sub ax,ax
mov ax,data
mov ds,ax
input:
mov ah,08h
int 21h ; input a
cmp al,61h
jb input
cmp al,7ah
jg input
mov dl,al
mov ah,02h
int 21h ; print a in lowcase
push dx
lea dx,turnto
mov ah,09h
int 21h ; print ' -> '
pop dx
sub dl,20h
mov ah,02h
int 21h ; print a in upcase
mov ax,4c00h
int 21h
main endp
code ends
end start
------------- screen ---------------
a -> a
3.輸入乙個數或者字元,如果是f以後字母,爆錯,以16進製制輸出
這個問題你沒有說清楚,所以沒法按要求做出,
到底是以16進製制輸入這個字元的ascii碼
還是什麼?
還有,輸入的乙個數,是乙個數字,還是乙個不定長的數?
如果還有什麼問題和要求,請mail我,我的郵箱請檢視我的資訊,裡面有。
2樓:
第一題:
#include(這句可以不寫的)
main()
else printf("\nc>16");
}第二題:
#include
main()
第三題:
#include
main()
3樓:陳冠鋼
輸出的時候是輸出10進製還是16進製制?
4樓:硝
看來彙編還是有點難的嘛...哈.....我不是故意混的....我只學了一點點啊..
5樓:手機使用者
實際上就是演算法問題
:用c可以麼?
第一題:
#include
main()
else printf("wrong!");
}第二題:
#include
main()
第三題:
#include
main()
printf("c=%c",c);}
6樓:
第一題:
#include
main()
else printf("wrong!");
}第二題:
#include
main()
第三題:
#include
main()
printf("c=%c",c);}
7樓:匿名使用者
第一題:
code segment
assume cs:code
start:
mov ah,01h
int 21h
mov bl,al
sub bl,30h
int 21h
mov ah,02h
sub al,30h
add al,bl
daamov bl,al
mov dl,al
mov cl,4h
shr dl,cl
add dl,30h
mov ah,02h
int 21h
mov dl,bl
and dl,0fh
add dl,30h
int 21h
mov ah,4ch
int 21h
code ends
end start
第二題:
code segment
assume cs:code
start:
mov ah,01h
int 21h
sub al,20h
mov dl,al
mov ah,02h
int 21h
mov ah,4ch
int 21h
code ends
end start
第三題:
data segment
error db 'error$'
data ends
code segment
assume cs:code, ds:datastart:
mov ah,01h
int 21h
cmp al,'f'
ja er
mov ah,02h
mov dl,al
int 21h
jmp exit
er: mov ah,09h
mov dx,offset error
int 21h
exit:
mov ah,4ch
int 21h
code ends
end start
8樓:北方俠客
tp:第一題
var a,b:integer;
begin
read(a,b);
writeln(a+b);
end.
第二題提示(用asall碼)
第三題好好想想,不就是乙個迴圈加判斷嗎?
9樓:匿名使用者
這麼簡單的題目,自己不好好學習還讓別人做,好好動腦子吧!
10樓:匿名使用者
不知道,自己好好想。
11樓:匿名使用者
用c可以麼?
第一題:
#include
main()
else printf("wrong!");
}第二題:
#include
main()
第三題:
#include
main()
printf("c=%c",c);}
12樓:愛嘉小
7+7=14
a=a?
13樓:yz小白
還真是簡單啊,是不是考試題目的說?
這些書上都有例題了
東東都還的了,要看書
這兩周沒啥空
有人能先回答就先回答吧!!!
數學競賽題目高手進
設此數為100a 10b c,有100a 10b c 13 a b c 即 87a 3b 12c 因為b,c最大取9,所以87a小於等於3 9 12 9 135,又因為a為正整數,所以a只能取1,則3b 12c 87 即b 4c 29,要使b是0 9之間的整數,c只能取5,6,7,此時b分別等於9,...
解釋幾個成語,高手進
蕩然無存 全都毀壞,消失盡淨 眼花繚亂 看著複雜紛繁的東西而感到迷亂。也比喻事物複雜,無法辨清。顛沛 受磨難 挫折 貧困 窮愁潦倒 窮困愁苦,失意消沉。形容讀書人境遇困苦,意志消沉。連聲諾諾 一聲接一聲地說話 表示同意的應答聲筋疲力盡 形容非常疲乏,一點力氣也沒有了 名副其實 名稱與實質相合一致 蕩...
語文高手進 成語難題,成語語文題目,高手進來!!!
屋上無片瓦 是說屋上連一片瓦都沒有,住的是茅草房。古時候用來形容窮苦人家。如今屋上無片瓦說的是樓房,有這樣房子的人往往是有錢人。這個成語在一定程度上成了富有的象徵。衣不蔽體 是說衣服遮不住身體,古時候形容某人生活極端貧困。現在衣不蔽體卻是體現著流行 前衛 潮流。多是有錢人的穿著。雍也 第九章 季氏使...