**:
data segment
;定義位元組型別資料add1,add2,sum和cont(存放兩個加數的長度)
add1 db 11h,11h,11h,11h,11h,11h
add2 db 66h,55h,44h,33h,22h,11h
sum db 6 dup(0)
cont db 3
data ends
stack segment para stack 『stack』
db 100 dup(?);定義100個未經初始化的位元組
stack ends
codes segment
assume cs:codes,ds:data,es:data,ss:stack
maddb:
mov ax,data
mov ds,ax;初始化資料段暫存器
mov es,ax;初始化附加段暫存器
mov si,offset add1;將add1的偏移位址存入si中
mov di,offset add2;將add2的偏移位址存入di中
mov bx,offset sum;將sum的偏移位址存入bx中
mov cl,byte ptr cont;cl在當前時刻強制設定為位元組型別之後,賦值為cont
mov ch,0;初始化相加字長度
clcmaddb1:mov ax,[si]
adc ax,[di];16位相加
inc si;si+1
inc si
inc di
inc di
mov [bx],ax;相加結果送至結果單元
inc bx
inc bx
loop clcmaddb1;迴圈執行
hlt;處理器「暫停」指令
codes ends
end maddb
如何查驗實驗結果:
1.在除錯模式下輸入t,
程式執行一條指令
2.因為sum的偏移位址存放在bx中,而程式後面bx的位址發生變化,所以要記下bx的第一次變化的值
3.輸入d 000c 即可出現結果
(000c是此程式在執行時bx的第乙個值)
求兩個數之和
給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 ...
兩個數之和
力扣 給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1...
彙編求兩個數的和 注釋
datas segment five db 5 datas ends stacks segment db 128 dup stacks ends codes segment assume cs codes,ds datas,ss stacks start mov ax,datas 把資料存到資料段d...