微機原理,用組合語言編寫,給定一組資料,大概數,統計正數,負數,0的個數,並顯示到螢幕上(重要)

2022-01-15 22:05:16 字數 1436 閱讀 7572

1樓:匿名使用者

org 100h

data segment

buffer dw 10

greatz dw ? ;正數zero dw ? ;零littlez dw ? ;負數data ends

start:

mov ax,data

mov ds,ax

xor ax,ax ;ax清零mov greatz,ax

mov zero,ax

mov littlez,ax

lea si,buffer ;取第一個資料mov cx,[si]

add si,2

st_count:

mov ax,[si]

add si,2

and ax,ax

jle count1 ;小於等於0則跳轉inc greatz

jmp count3

count1:

jl count2 ;小於0則跳轉inc zero

jmp count3

count2:

inc littlez

count3:

dec cx

jnz st_count

code ends

end start

2樓:做而論道

要求顯示三行數字結果?

微機原理組合語言程式設計題 在資料段中定義了一個tab變數來存放位元組型資料塊。資料塊的長度為10,資料

3樓:蒜薹

mov bx,offset tab ;把tab變數的首位元組地址放到bx暫存器

mov cx,10    ;因為資料塊長度是10,把10放到cx計數器

mov dx,0    ;dx用來存放結果,初始為0

lop1:  mov al,[bx]   ;把bx對應的值放入al暫存器

cmp al,0    ;比較al與0,這裡主要看zf標誌位的值

jne next1    ;如zf=0(意al不為0),跳到next1標號處

inc dx      ;計數器dx加1,(發現一個0)

next1: inc bx      ;bx加1,指向tab裡下一個位元組變數

loop lop1   ;判斷計數器cx,不為0則跳轉到lop1處

mov count,dx  ;把dx裡的結果放入count對哇。

求助微機原理:用組合語言編寫一個程式-鍵盤輸入兩個4位十六進位制數,以十六進位制形式輸出兩個數的和 積 20

4樓:匿名使用者

按你的題意,輸入的數也許是正數,也許是負數,負數應該用補碼方式讀入,也就是無論是正數、0、負數,你都需要手工將其轉為機內的16進位制數。

微機原理組合語言IDIV指令,微機原理與組合語言中的指令JMP CALL的區別

idiv 有符號數除法指令 signedinteger divide instruction 指令的格式 idiv reg mem 受影響的標誌位 af cf of pf sf和zf 指令的功能是用顯式運算元去除隱含運算元 都作為有符號數 所得商和餘數的對應關係見下圖 微機原理與組合語言中的指令jm...

組合語言中怎樣算平均值,用組合語言編寫求一組數的平均值怎麼寫

首先把這些數值累加起來,然後除以這些資料的數量比如 add ax,49 假設數量是8個 mov bx,8 div bx 其結果就在ax中 可先將4個數加 再除以4 如果是要輸入任何個數,求平均 那就另法 畢竟只有4個。include void main 我現在在學網頁程式設計,所以我已經對這忘記的差...

用組合語言程式設計學生成績管理系統,用組合語言程式設計 編寫一程式統計學生的數學成績,分別歸類90 99分,80 89分,70 79分,

以下程式是對100個資料進行統計,統計100,90 99,80 89,70 79,60 69,和59以下等分數段的人數,結果存放在result開始的記憶體單元 dseg segment buff db 98,87,56,12,100,46,79,68,59,98 db 59,86,69,96,100...