移动指令和运算指令
移動指令
mov 寄存器,數據 mov ax,10H mov 寄存器,寄存器 mov ax,bx mov 寄存器,內存單元 mov ax,ds:[0] 取字型數據 mov al,ds:[0]取字節型數據 mov 內存單元,寄存器 mov ds:[0],ax mov 段寄存器,寄存器 mov bx,1000H → mov ds,bx mov 寄存器,段寄存器 mov bx,ds注: mov ds,數據H 是錯誤的賦值方式
例如:
運算指令
add 寄存器,數據 add ax,1 add 寄存器,寄存器 add ax,bx add 寄存器,內存單元 add ax,ds:[0] add 內存單元,寄存器 add ds:[0],axsub 寄存器,數據 sub ax,1 sub 寄存器,寄存器 sub ax,bx sub ax,ax sub 寄存器,內存單元 sub ax,ds:[0] sub 內存單元,寄存器 sub [0],ax注意:add ds,ax 是錯誤的運算方式
例1:寫幾條指令 將一段內存中連續的3個字型數據累加存放到AX中
20000H 12H → 3412H
20001H 34H
20002H 99H → 8899H
20003H 88H
20004H FFH → EEFFH
20005H EEH
例2:將DS:[0]中的 FF、 DS:[1]中的FF與AX相加
20000H FFH → FFFFH
20001H FFH
最后得到的結果:
20000H FEH → FFFEH
20001H FFH
例3:將DS:[0]中的 FF與Al相加
20000H FFH
最后得到的結果:
20000H FEH
例4:將DS:[0]中的 FF與AX相加
20000H FFH
最后得到的結果:
20000H FEH
20001H 01H
0000:0010 62 26 E6 D6 CC 2E 3C CB - AB BA 00 00 26 06 66 88
mov ax,1 AX = 1 mov ds,ax DS = 1mov ax,ds:[0] 字型數據 AX = 2662H mov bx,ds:[1] 字型數據 BX = E626H mov ax,bx AX = E626H mov ax,ds:[0] 字型數據 AX = 2662Hmov bx,ds:[2] 字型數據 BX = D6E6H add ax,bx 字型數據相加 AX = FD48H + 2ECCHadd ax,ds:[4] 字型數據相加 AX = 2C14H mov ax,0 AX = 0 mov al,ds:[2] 字節型數據 AX = 00E6H AL = E6H mov bx,0 BX = 0000 mov bl,ds:[c] 字節型數據 BX = 0026H BL = 26H add al,bl 字節型數據相加 AX = 000CH AL = 0CH 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
- 上一篇: Java 配置C3P0数据连接池存入数据
- 下一篇: PUSH进栈指令和POP出栈指令