更灵活的定位内存地址的方法课件.pptVIP

更灵活的定位内存地址的方法课件.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

7.10不同的尋址方式的靈活應用可以看到:從[idata]一直到[bx+si+idata],我們可以用更加靈活的方式來定位一個記憶體單元的地址。這使我們可以從更加結構化的角度來看待所要處理的數據。7.10不同的尋址方式的靈活應用下麵我們通過一個問題的系列來體會CPU提供多種尋址方式的用意,並學習一些相關的編程技巧。7.10不同的尋址方式的靈活應用問題7.6編程,將datasg段中每個單詞的頭一個字母改為大寫字母。assumecs:codesg,ds:datasgdatasgsegmentdb1.filedb2.editdb3.searchdb4.viewdb5.optionsdb6.helpdatasgendscodesgsegmentstart:……codesgendsendstart7.10不同的尋址方式的靈活應用問題7.6分析datasg中的數據的存儲結構,如圖:7.10不同的尋址方式的靈活應用我們可以看到:在datasg中定義了6個字串,每個長度為16位元組。(注意,為了直觀,每個字串的後面都加上了空白字元,以使它們的長度剛好為16位元組)7.10不同的尋址方式的靈活應用因為它們是連續存放的,我們可以將這6個字串看成一個6行16列的二維數組。按照要求,我們需要修改每一個單詞的第一個字母,即二維數組的每一行的第4列(相對於行首的偏移地址為3)。7.10不同的尋址方式的靈活應用我們需要進行6次迴圈,用一個變數R定位行,用常量3定位列。處理的過程如下:R=第一行的地址movcx,6s:改變R行,3列的字母為大寫R=下一行的地址loop

7.10不同的尋址方式的靈活應用我們用bx作變數,定位每行的起始地址,用3定位要修改的列,用[bx+idata]的方式來對目標單元進行尋址,程式如下:movax,datasgmovds,axmovbx,0movcx,6s:moval,[bx+3]andalmov[bx+3],aladdbx,16loops7.10不同的尋址方式的靈活應用問題7.7編程:將datasg段中每個單詞改為大寫字母。assumecs:codesg,ds:datasgdatasgsegmentdbibmdbdecdbdosdbvaxdatasgendscodesgsegmentstart:……codesgendsendstart7.10不同的尋址方式的靈活應用問題7.7分析datasg中數據的存儲結構,如圖:

7.6用[bx+idata]的方式進行數組的處理那麼我們可以用[0+bx]和[5+bx]的方式在同一個迴圈中定位這兩個字串中的字元。在這裏,0和5給定了兩個字串的起始偏移地址,bx中給出了從起始偏移地址開始的相對地址。這兩個字串在內存中的起始地址是不一樣的,但是,它們中的每一個字元,從起始地址開始的相對地址的變化是相同的。7.6用[bx+idata]的方式進行數組的處理改進的程式: movax,datasg movds,ax movbx,0 movcx,5s: moval,[bx] ;定位第一個字串的字元 andal mov[bx],al moval,[5+bx] ;定位第二個字串的字元 oral mov[5+bx],al incbx loops7.6用[bx+idata]的方式進行數組的處理程式還可以寫成這樣: movax,datasg movds,ax movbx,0 movcx,5s: moval,0[bx] andal mov0[bx],al moval,5[bx] oral mov5[bx],al

文档评论(0)

子不语 + 关注
官方认证
服务提供商

平安喜乐网络服务,专业制作各类课件,总结,范文等文档,在能力范围内尽量做到有求必应,感谢

认证主体菏泽喜乐网络科技有限公司
IP属地山东
统一社会信用代码/组织机构代码
91371726MA7HJ4DL48

1亿VIP精品文档

相关文档