王爽汇编第九章学习笔记
生活随笔
收集整理的這篇文章主要介紹了
王爽汇编第九章学习笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在這里0-1=ffff
有關于根據位移進行轉移的意義:跳轉指令與浮動裝配(匯編相關),匯編語言交流,技術交流區,魚C論壇 - Powered by Discuz!
實驗八:重點關注jmp short s1是表達ip的值本位-8個字節,因為他不是長轉移,而是短轉移,是直接根據位移算的,它的機器碼里沒有要跳轉到的目標位置的信息
有關于nasm用法的意外收獲:http://www.cppblog.com/myjfm/archive/2011/11/05/159647.asp
有關于實驗9,先給代碼
?DATAS SEGMENTdb 'welcome to masm!' ?db 2h,23h,71hDATAS ENDSstack segmentdw 10 dup(0)stack ends?CODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:stackSTART:mov ax,datasmov ds,axmov ax,0b800hmov es,axmov si,40hmov di,0mov bp,0780hmov cx,3s1:push cxmov cx,10hs:mov al,byte ptr ds:[bx]mov ah,byte ptr ds:[di+10h]mov es:[si+bp],axadd si,2inc bxloop smov bx,0inc diadd bp,0a0hmov si,40hpop cxloop s1MOV AH,4CHINT 21HCODES ENDSEND START寫這道實驗我還是踩過挺多坑的,現在就列一下:
棧不用你進行初始化,在上面設棧了,程序會自動幫你接過去,不然你的程序可能報錯
直接數類似于abh這樣的,只有這么寫0abh才是合法,其他會報錯
你不能直接用si進行字節的復制,我試了下,直接報錯
一般這種處理一個字節,可以分解ax為al,ah,然后復制到目標的內存單元,注意高位配高位,低位配低位
字符串可以通過db ‘jaskdjak’這樣在data數據段中直接設置
因為我在data段里面設置兩個,又因為這兩個偏移方式有點不太一樣,所以不能用相同的寄存器進行同加操作,這里是我原本第24行di是bi
總結
以上是生活随笔為你收集整理的王爽汇编第九章学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1018 锤子剪刀布 (20 分)
- 下一篇: 1019 数字黑洞 (20 分)(c语言