80x86組合語言 分類統計

2021-07-09 15:03:00 字數 2320 閱讀 9641

組合語言的程式設計題!急~~!

有100個學生成績,存放在以data為首址的位元組儲存單元中。

試統計其中90(含90)以上的人數,60—90(含60)之間的人數,60以下的人數,

分別存入max,middle, min三個變數中。

15 分鐘前 做而論道    | 十七級 最快回答

assume   ds:qq, cs:cc

qq   segment

data  dw   76, 69, 84, 90, 73, 88, 99, 63, 100, 80 ;這裡可寫100個成績

dw   78, 78 ,74, 79, 72, 78, 77, 76, 76, 75

nnn  equ  ($ - data) / 2

s6   dw   0

s7   dw   0

s8   dw   0

s9   dw   0

s10  dw   0

message1  db  '60-69  number:', '$'

lll equ $ - message1

message2  db  '70-79  number:', '$'

message3  db  '80-89  number:', '$'

message4  db  '90-99  number:', '$'

message5  db  '100    number:', '$'

qq   ends

cc   segment

start:

mov   ax, qq

mov   ds, ax

call  count

call  display

mov   ax, 4c00h

int   21h

;------------------------

count   proc   near

mov   cx, nnn

mov   si, 0

next:

mov   ax, data[si]

mov   bl, 10

div   bl

mov   ah, 0

mov   bx, ax

sub   bx, 6

shl   bx, 1

inc   s6[bx]

add   si, 2

loop  next

retcount   endp

;------------------------

display   proc   near

mov   cx, 5

mov   si, 0

mov   di, 0

rotate:

mov   ah, 9

lea   dx,  message1

add   dx, di

int   21h

mov   ax, s6[si]

mov   bl, 10

div   bl

mov   bx, ax

mov   ah, 2h

mov   dl, bl

cmp   bl, 0

jz    nexw

add   dl, 30h

int   21h

nexw:

mov   dl, bh

add   dl, 30h

int   21h

add   si, 2

add   di, lll

call  crlf

loop  rotate

retdisplay   endp

;------------------------    

crlf   proc   near

mov   ah, 2h

mov   dl, 0dh

int   21h

mov   dl, 0ah

int   21h

retcrlf   endp

;------------------------

cc   ends

end   start

;***********************************==

程式執行結果如下:

c:\masm>ww

60-69  number:2

70-79  number:12

80-89  number:3

90-99  number:2

100    number:1

;***********************************==

提問者評價:謝謝你,很及時~

組合語言 80x86定址方式

1 立即定址方式 立即定址方式中指令的運算元是8位或16位立即數,並直接出現在指令中。例如 mov al,10h 源運算元為立即定址 執行後al 10h mov ax,0a48h 源運算元為立即定址 執行後ax 0a48h 立即定址只能用於源運算元,不能用於目的運算元。2 暫存器定址方式 暫存器定址...

80x86組合語言定址方式介紹

運算元直接包含在指令 中,可以是8或者16位。立即數作為指令的一部分,直接從biu指令佇列取出,因此速度更快。唯一缺點 只能作為源運算元。指令中所需的運算元在cpu某個暫存器中,可以是8位 16位段暫存器,這個操作完全在cpu內部,因此執行也很快。以下指令需要cpu以外的東西參與用符號或者常數表示 ...

80x86組合語言學習筆記(三)

今天上午開始看組合語言程式設計初步,這一章分為 組合語言語句 變數和標號 常用偽指令語句和源程式組織 順序程式設計 分支程式設計 迴圈程式設計這幾塊,這次總結一下組合語言的語句。首先組合語言的語句分為指令語句 偽指令語句和巨集指令語句,其中指令語句是可以被譯成機器指令的語句,例如將某運算元從乙個暫存...