1樓:希噠噠
第乙個是將暫存器bx的內容傳遞到ax中,後乙個是將ds+bx(內容)在儲存器的內容傳遞給ax。ds+bx只是需要獲得儲存器中內容的乙個位置,比如 ffff 0001。
2樓:匿名使用者
執行結果一樣只能說碰巧 bx所指向位址單元的內容和bx的內容一樣 但是這兩條指令的含義是不同的
3樓:匿名使用者
mov bx,ax,把
copyax的值賦予bx比如ax=1234,bx=1000那麼執行後ax=bx=1234
mov [bx],ax把ax的值賦予bx所指向的記憶體單元比如ax=1234,bx=1000
ds:1000內容為1111那麼執行後ax=1234,bx=1000,ds:1000的內容為1234
彙編(bx)與 [bx]有什麼差別?
4樓:冰封之都
如 mov ax,bx
說明將bx暫存器中的值放入ax暫存器中
如 mov ax,[bx]
說明將ds暫存器中的值乘16+bx中暫存器的值作為位址,去取記憶體中這個位址的值,再儲存到ax中
5樓:魔法師00可可
bx指bx所存放的是直接使用的值
[bx]指用bx中存放的位址找到對應的值
,這個值是間接使用的
組合語言的 ax bx cx dx都有什麼區別?
6樓:匿名使用者
ax稱為累加器(accumulator),是cpu中使用最多,功能最強,執行效率的暫存器.
bx稱為基位址暫存器(base register).
cx稱為計數暫存器(count register).
dx稱為資料暫存器(data register).
沒有本質上的區別,都是通用16位暫存器.
相應的通用32位暫存器是eax,ebx,ecx,edx.
至於怎麼用庫檔案裡的指令都有定義,只需了解指令格式即可.
7樓:文刀舍予
暫存器的不同主要體現在指令上
比如8086裡的mul和div指令,就是乘法和除法,哪個暫存器是幹什麼的都是定義好的
還有loop指令,是根據cx來判斷是否迴圈的最重要的就是有的暫存器可以用來定址而有的不能比如ax不能用於定址,就是說這樣的指令是錯誤的:
mov bx,[ax]
而bx可以用於定址,這條指令就是正確的:
mov ax,[bx]
這些說的只是在8086裡面,32位的cpu的eax,ebx,ecx,edx都能用於定址(這四個我試驗了,其他的沒試驗)
8樓:
我覺得提問的就不該問這個問題,除了ax在訪問速度上稍比其他三個快點外,它們根本沒有本質區別
組合語言程式設計,組合語言程式設計?
嚴格要求輸入 0 7。輸出為分別是 0 2 4 6 8 a c e。下列程式,可滿足題目要求。assume cs cccc segment i y db 02468ace s t mov ax,cc mov ds,axi x mov ah,07h int 21h cmp al,0 jb i x cm...
組合語言中out和in的用法,組合語言中OUT和IN的用法
在8086系列的組合語言中 in指令的意思是從埠中讀取資料,比如 in al,80h,將80h埠資料讀入到al中 out指令的意思是往埠輸出資料,比如 out 80h,al,將al輸出到80h埠 組合語言中,cpu對外設的操作通過專門的埠讀寫指令來完成 讀埠用in指令,寫埠用out指令。例子如下 i...
組合語言程式設計,組合語言程式設計步驟 有那幾步
1.c,e 這個題出要考查幾條算術和邏輯指令,仔細一點就可以了。2 a,d b錯在數字大過了乙個位元組 c錯在用數字來標識標號了 e錯在用?號定義dup的次數 3 b,e 同一 c,d不影響al的值 4 a c d e 5 a b 1 將dl中小寫字母轉換為大寫,可用c e指令。a add dl,2...