彙編高手進幾個簡單題目

2021-03-09 10:38:03 字數 5088 閱讀 5220

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,...

解釋幾個成語,高手進

蕩然無存 全都毀壞,消失盡淨 眼花繚亂 看著複雜紛繁的東西而感到迷亂。也比喻事物複雜,無法辨清。顛沛 受磨難 挫折 貧困 窮愁潦倒 窮困愁苦,失意消沉。形容讀書人境遇困苦,意志消沉。連聲諾諾 一聲接一聲地說話 表示同意的應答聲筋疲力盡 形容非常疲乏,一點力氣也沒有了 名副其實 名稱與實質相合一致 蕩...

語文高手進 成語難題,成語語文題目,高手進來!!!

屋上無片瓦 是說屋上連一片瓦都沒有,住的是茅草房。古時候用來形容窮苦人家。如今屋上無片瓦說的是樓房,有這樣房子的人往往是有錢人。這個成語在一定程度上成了富有的象徵。衣不蔽體 是說衣服遮不住身體,古時候形容某人生活極端貧困。現在衣不蔽體卻是體現著流行 前衛 潮流。多是有錢人的穿著。雍也 第九章 季氏使...