1、編寫程式,實現將記憶體偏移位址為 1000h 開始的連續 100 個位元組送往偏移位址為 1050h 開始 的連續 100 個記憶體單元中。要求使用二種不同的方法(用單一的串操作指令、用帶重複字首的串操作指令)。方法一:使用movsb指令
data segment
org 1000h
x db 100 dup('1')
org 1050h
y db 100 dup('0')
data ends
code segment
assume ds:data,cs:code
start:
mov ax,data
mov ds,ax
mov es,ax
lea si,x
lea di,y
mov cx,100
cldagain: movsb
dec cx
jnz again
mov ah,4ch
int 21h
code ends
end start
方法二: 使用rep重複字首指令
data segment
org 1000h
x db 100 dup(1)
org 1050h
y db 100 dup(2)
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov es,ax
lea si,x
lea di,y
mov cx,100
cldrep movsb
mov ah,4ch
int 21h
code ends
end start
2、程式設計實現:對 str1 和 str2 兩個字串進行比較,若兩串相同,給 dl 送 1,否則送-1。
data segment
str1 db '123456'
str2 db '1234567'
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
lea si,str1
lea di,str2
cldrepz cmpsb
jnz umat
mov dl,1
jmp next
umat: mov dl,-1
next: mov ah,4ch
int 21h
code ends
end start
彙編實驗1 用機器指令和彙編指令程式設計
1.實驗執行環境 win10系統下的dosbox 2.實驗所用偵錯程式為debug 一 基礎指令 此次實驗中所用到的7條debug命令 r,d,e,u t,a 1.r命令 檢視 改變cpu暫存器的內容 檢視暫存器的值 改變cs ip的值 可見cs,ip的值由上面的073f和0100變成了0000 2...
實驗 用機器指令和彙編指令程式設計
1 教材實驗一結論 1 通過以下兩種方式將以下程式段寫入記憶體 e命令和a命令。b8 20 4e mov ax,4e20h 0516 14add ax,1416h bb 00 20mov bx,2000h 01d8 add ax,bx 89c3 mov bx,ax 01d8 add ax,bx b8...
實驗1 使用機器指令和彙編指令程式設計
一.實驗目的 1.熟練掌握使用debug工具編寫和除錯x86彙編命令的方法 2.掌握8086cpu,暫存器,記憶體的基礎知識 3.理解並掌握記憶體中多位元組資料的存放 小端法 4.理解並掌握棧記憶體空間的特性和使用 5.掌握指令mov,add,sub,jmp,push,pop的基礎用法 二.實驗準備...