《組合語言》實驗5

2021-10-08 07:01:55 字數 1549 閱讀 6172

(5)程式如下,編寫code段中的**,將a段和b段中的資料依次相加,將結果儲存到c段中。

assume cs:code

a segment

db 1,2

,3,4

,5,6

,7,8

a ends

b segment

db 1,2

,3,4

,5,6

,7,8

b ends

c segment

db 0,0

,0,0

,0,0

,0,0

c ends

code segment

start:

mov ax,a

mov ds,ax

mov ax,c

mov es,ax

mov bx,

0 mov cx,

8

addnumber:

mov dl,ds:

[bx] ;把a的第bx+

1個資料放入dl中

mov ax,b

mov ds,ax

add dl,ds:

[bx] ;把b的第bx+

1個資料和dl相加後再放入dl中

mov es:

[bx]

,dl ;把得到的資料dl放入es:

[bx]中,即存進c中

inc bx

loop addnumber

code ends

end start

(6)程式如下,編寫code段中的**,用push指令將a段中的前8個字型資料,逆序儲存到b段中。

assume cs:code

a segment

dw 1,2

,3,4

,5,6

,7,8

,9,0ah,

0bh,

0ch,

0eh,

0fh,

0ffh

a ends

b segment

dw 0,0

,0,0

,0,0

,0,0

b ends

code segment

start: mov ax,a

mov ds,ax

mov ax,b

mov ss,ax

mov sp,

16 mov cx,

8 mov bx,

0s: push ds:

[bx]

add bx,

2 loop s

mov cx,

8 mov bx,

0

mov ax,

4c00h

int21hcode ends

end start

《組合語言》實驗 實驗

注意 db定義位元組型別變數,乙個位元組資料百佔1個位元組單度元,讀完乙個,偏移量加1 dw定義字型別變問量,乙個字資料佔2個位元組單元,讀完乙個,權偏移量加2 dd定義雙字型別變數版,乙個雙字資料佔4個位元組單元,讀完乙個,權偏移量加4 一開始用了乙個暫存器表示所有項,但是後來發現四個資料佔的位元...

組合語言實驗1 2

小寫字母變為大寫字母 data segment notic db please input the word 0ah,0dh data ends code segment assume cs code,ds data start mov ax,data mov ds,ax 填入ds mov cx,1...

組合語言實驗1 3

輸入10個字元,並反序輸出 data segment dd1 db 10 dup data ends code segment assume cs code,ds data start mov ax,data mov ds,ax lea bx,dd1 dd1的有效位址放入bx中 mov cx,0ah...