彙編實踐課第一次作業

2021-08-18 11:24:41 字數 2588 閱讀 2223

第一次:1.求正數,負數的絕對值和and個數和    2.兩數相加    3.求出數字的回文數    4.求出陣列最大值的下標

找正數(含0)和負數的個數和絕對值和

include irvine32.inc

.data

array dd 12,34,56,-12,-34,-9,0,3,0,-5,3,5

len dd ($ - array) / 4

sum1 dd 0 ;sum for pos

sum2 dd 0 ;sum for neg

cunt1 dd 0 ;count for pos

cunt2 dd 0 ;connt for neg

.code

main proc

lea esi,array

mov ecx,len

mov ebx,0

again:

mov eax,[esi + 4 * ebx]

cmp eax,0

jge plus ;帶符號位 >=

neg eax ;取反

add sum2,eax

inc cunt2

jmp next

plus:

add sum1,eax

inc cunt1

next:

inc ebx

loop again

call output

exit

main endp

output proc

mov eax,sum1

call writeint

mov al,' '

call writechar

mov eax,sum2

call writeint

mov al,' '

call writechar

mov eax,cnt1

call writeint

mov al,' '

call writechar

mov eax,cunt2

call writeint

retoutput endp

end main

兩數相加

include irvine32.inc

.data

dat dd 1000b,1100b

sum dd ?

.code

main proc

lea esi,dat

mov eax,[esi]

add eax,[esi + 4]

mov sum,eax

call writeint

exit

main endp

end main

求數字的回文

include irvine32.inc

.data

sum dd ?

ten dd 10

n dd ?

zero dd 0

shang dd ? ;商

yu dd ? ;餘

.code

main proc

call readint

call reverse

mov eax,sum

call writeint

exit

main endp

reverse proc

begin:

cmp eax,zero

jbe final

mov edx,0

div ten

mov yu,edx

mov shang,eax

mov eax,sum

mul ten

add eax,yu

mov sum,eax

mov eax,shang

jmp begin

final:

retreverse endp

end main

求陣列最大值下標

include irvine32.inc

.data

arr dd 32,44,55,1,10,2,111

len dd ($ - arr) / 4

.code

main proc

mov edx,offset arr

mov ecx,len

call max

mov eax,esi

call writeint

exit

main endp

max proc

mov eax,[edx]

mov ebx,0

again:

cmp eax,[edx + 4 * ebx]

ja next

mov eax,[edx + 4 * ebx]

mov esi,ebx

next:

inc ebx

loop again

final:

retmax endp

end main

彙編理論課第一次作業

第一次 1.三個整數的最大值 2.陣列的最大值 1.從鍵盤輸入3個整數a,b,c 求整數 a,b,c最大值,並在螢幕中輸出最大值 include irvine32.inc data a dd b dd f dd code main proc call readint mov f,eax call r...

彙編第一次作業

通過對彙編第一章的學習,我複習了以往的知識,同時也收穫到了一些新知識。這章主要講述了以下幾個內容 計算機程式語言的演進,組合語言源程式的組成,計算機硬體系統的基本結構以及記憶體位址空間。計算機程式語言經歷了從機器語言到組合語言再到高階語言的三個階段.機器語言就是一些0,1組成的數字,然後計算機將之轉...

系統綜合實踐第一次實踐作業

一開始以為和這學期學的系統結構相對應,要去實驗室做硬體實驗。了解課程的內容後,覺得這門課應該是綜合度很高的,估計需要花費不少的時間來進行學習。希望自己能夠利用這門課,多掌握一些技能吧。1.什麼是微服務?微服務,又稱微服務架構,這種架構聚焦業務領域,將單一應用程式劃分成一組小的服務。在微服務架構中,每...