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