文章出處
文章列表
•MOV與ADD指令
匯編指令 |
控制CPU完成的操作 |
形式化語法描述 |
mov ax, 18 |
將18送入AX |
(AX)=18 |
mov ah, 78 |
將78送入AH |
(AH)=78 |
add ax, 8 |
將AX中的數值加8 |
(AX)=(AX)+8 |
mov ax, bx |
將BX中數據送入AX |
(AX)=(BX) |
add ax, bx |
將AX、BX內容相加,結果存入AX |
(AX)=(AX)+(BX) |
•說明:匯編指令不區分大小寫;兩個操作數必須位數一致。
•Debug命令
▫R命令:查看、改變CPU寄存器的內容
▫D命令:以16進制形式顯示一塊內存區域的內容
▫E命令:改寫內存中的內容
▫A命令:以匯編指令的格式在內存中寫入一條機器指令
▫U命令:將內存中的機器指令翻譯為匯編指令
▫T命令:執行一條機器指令
▫G命令:執行到指定位置(斷點),如“g cs:0012”;
▫P命令:執行子程序調用、循環、中斷、重復字符串操作等指令,停止于下條指令。
▫Q命令:退出Debug
•說明:
▫在Debug中輸入或顯示的數據都是十六進制形式;
▫Debug命令是單個字母,命令和參數的大小寫可混合輸入;
▫當命令出現語法錯誤時,將在出錯位置顯示 “^Error”;
▫使用T命令執行一條指令前,一定要確保其有效。無效指令可能導致處理器死鎖、Debug無法響應、甚至系統重新引導。
MOV/ADD/SUB指令(1/2)
•功能:傳送、累加、累減。
•格式:兩個操作數。
操作數1 |
操作數2 |
示例 |
寄存器 |
立即數 |
mov ax, 1000H |
段寄存器 |
寄存器 |
mov ds, ax |
寄存器 |
寄存器 |
add bx, ax |
寄存器 |
內存單元 |
sub cx, [0] |
內存單元 |
寄存器 |
mov [0], al |
寄存器 |
段寄存器 |
mov bx, ds |
內存單元 |
段寄存器 |
mov [0], ds |
段寄存器 |
內存單元 |
mov ds, [0] |
…… |
…… |
…… |
•INC指令(inc)
▫格式:inc 操作數
▫功能:將操作數的值加1
▫說明:操作數可以是寄存器,也可以是內存單元
•DEC指令(dec)
▫格式:dec 操作數
▫功能:將操作數的值減1
▫說明:操作數可以是寄存器,也可以是內存單元
•使用LOOP指令實現循環功能的要點
▫在CX中存放循環次數;
▫LOOP指令中的標號所標識地址要在指令前面;
▫要循環執行的程序段寫在標號和LOOP指令中間;
•LOOP循環程序框架
mov cx,循環次數
s: 循環執行的程序段
……
loop s
文章列表
全站熱搜