日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【汇编语言】王爽实验5(5)(6)的解答 建立数据类型匹配的观念

發布時間:2023/11/30 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【汇编语言】王爽实验5(5)(6)的解答 建立数据类型匹配的观念 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

0 前言

本文解答王爽《匯編語言》實驗5的(5)(6)題

同時給出一些常見問題的解答

以及給出最易犯錯的地方:數據類型不匹配的解決方案

1 題目解答

1.1 實驗5(5)

1.1.1 題目

將data1和data2段的數據依次相加,結果放入data3段

data1 segmentdb 1,2,3,4,5,6,7,8 data1 endsdata2 segmentdb 1,2,3,4,5,6,7,8 data2 endsdata3 segmentdb 0,0,0,0 ,0,0,0,0 data3 ends

1.1.2 題目解析

  • 數據是字節型數據,注意寄存器使用al、ah系列尋址要+1
  • 8 + 8存在進位,不過沒有超范圍,不影響
  • 此處使用mov指令傳送數據最方便
  • 內存連續的數據,用循環
  • 重要的:程序算法設計(無論多簡單,都不能忽視!)

    1.1.3 代碼

    assume ds:data1,ds:data2,ds:data3 data1 segmentdb 1,2,3,4,5,6,7,8 ; 8 + 8 = 10H 一個字節放得下,沒事! data1 endsdata2 segmentdb 1,2,3,4,5,6,7,8 data2 endsdata3 segmentdb 0,0,0,0 ,0,0,0,0 data3 endsassume cs:code code segment start:mov ax,data1mov ds,axmov bx,0mov cx,8s:mov al,[bx] ; 這種語法格式,很容易讓人忽略【數據類型】,還是AT&T格式好add al,[bx + 10h]mov [bx + 20h],aladd bx,1loop smov ax,04c00hint 21h code ends end start

    1.1.4 代碼注意事項

  • 字節型數據,對應使用8位寄存器,不是16位!
  • 內存中連續的字節型數據,應該是bx + 1,不是+2
  • 可以查一查AT&T格式的x86匯編語言,這種格式,要求操作助記符指明操作數的數據類型,這樣一來,你根本不會出錯,通常這種格式在Linux操作系統使用。
  • 1.2 實驗5(6)

    1.2.1 題目

    用push指令將data1段的前8個字型數據,逆序放入data2段

    data1 segmentdw 1,2,3,4, 5,6,7,8, 9,0ah,0bh,0ch, 0dh,0eh,0fh,0ffh data1 endsdata2 segmentdw 0,0,0,0, 0,0,0,0 data2 ends

    1.2.2 題目解析

  • 字型數據,寄存器使用AX系列,連續內存單元訪問要 +2
  • 逆序,需要使用棧
  • 注意棧頂SS:SP的位置和DS:EA的位置
  • 以下是設計模型

    算法流程模型不再贅述,只需要

  • 將SS:SP和DS:EA指定到對應位置
  • 注意要 +2
  • 1.2.3 代碼

    assume ds:data1,ds:data2 data1 segmentdw 1,2,3,4, 5,6,7,8, 9,0ah,0bh,0ch, 0dh,0eh,0fh,0ffh data1 endsdata2 segmentdw 0,0,0,0, 0,0,0,0 data2 endsassume cs:code code segment start:mov ax,data2mov ss,axmov sp,10hmov ax,data1mov ds,axmov bx,0mov cx,8s:push [bx]add bx,2loop smov ax,04c00hint 21h code ends end start

    1.3 其他語法的注意事項

    對于開頭的地方,需要注意,以下是對的:

    assume ds:data1,ds:data2,ds:data3

    不可以用以下省略!沒有這種省略

    assume ds:data1,data2,data3

    這表明,段寄存器:段是一體的,這兩個東西的組合,共同表明了段的類型,不可以連寫

    2 由題目獲得的重要思想觀念

    2.1 需求分析與程序設計的重要性

    任何程序設計,都要先設計,再實現,不要一上來就實現!一上來就敲代碼的唯一結果,就是反復返工,浪費時間。

    且問題復雜度越大,浪費時間越多,危害也就越大,例如在歷史上,軟件工程發展初級階段,放療設備的軟件失誤導致多人死亡,這個故事足以讓你明白需求分析和設計的重要性。

    2.2 把握指令本質,實現靈活應用

    這里想強調,push和pop指令的本質就是數據傳送指令,它們與mov的本質沒有區別,只不過對其的設計的為了專門的堆棧應用而已,但這不代表你只能將其應用于堆棧。

    例如最開篇的題目,如果你使用push\pop指令,是完全可以實現的,不過第一題確實沒有必要多此一舉。

    2.3 避免數據類型匹配錯誤的解決方案

    對于此處的講解,我單獨放了一篇文章,給到你鏈接

    匯編語言程序設計,如何避免數據類型匹配錯誤

    總結

    以上是生活随笔為你收集整理的【汇编语言】王爽实验5(5)(6)的解答 建立数据类型匹配的观念的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 丁香花高清在线观看完整动漫 | 在线观看羞羞漫画 | 亚洲人在线观看视频 | 性色av浪潮av | 国产成人精品一二三区 | 激情丁香网 | 中文字幕人妻一区二 | 调教驯服丰满美艳麻麻在线视频 | 小妹色播影院 | 欧美三级中文字幕 | 精国产人伦一区二区三区 | 黑人和白人做爰 | 69影院少妇在线观看 | 肉嫁高柳家在线看 | 欧洲一区在线观看 | 成年性生交大片免费看 | 日皮视频免费观看 | 2018自拍偷拍| 欧美黑人一级片 | 亚洲产国偷v产偷v自拍涩爱 | 天天干天天干 | 影音先锋久久久 | 一级免费黄色大片 | 久在线观看视频 | 精品亚洲一区二区 | 亚洲欧美日本韩国 | 欧美黄色一级生活片 | 国产精品久久久久久免费免熟 | 欧美一区二区三区婷婷月色 | 中国女人黄色大片 | 日本美女久久久 | 绿帽av | 美女伦理水蜜桃4 | 少妇全黄性生交片 | 大陆一级片 | 欧美xxxx黑人又粗又长密月 | 老太婆av | 亚州av网 | 国产精品无码乱伦 | 日韩视频在线观看视频 | 亚洲精品 日韩无码 | 中文字幕影片免费在线观看 | 伊人中文字幕在线 | 人妻体内射精一区二区三区 | 国产一二在线观看 | 亚洲高潮av | 在线观看日本视频 | 欧美午夜精品久久久久免费视 | 一级性生活黄色片 | 国产一区二区三区视频在线观看 | 亚洲一区中文字幕永久在线 | 巨胸爆乳美女露双奶头挤奶 | 亚洲23p | 一级一片免费播放 | 精品人成 | 天天曰夜夜曰 | 成人久久久久久 | 三级电影在线看 | 在线一区二区三区四区 | 国产aⅴ爽av久久久久成人 | 天天视频色| 精品欧美一区二区三区成人 | 久久男人精品 | 黄色片在线观看免费 | 一二三区在线视频 | 精品国产一二区 | 午夜视频福利在线 | 亚洲精品18| 精品人妻人伦一区二区有限公司 | 亚洲在线视频免费观看 | 亚洲精品无码专区 | 91高清视频| 日韩欧美99| 精品999久久久一级毛片 | 国产午夜精品久久 | 免费日韩一区 | 91沈先生在线 | 成人黄色一级 | 久久尤物 | 国产毛片久久 | 亲嘴脱内衣内裤 | 成人丁香婷婷 | 韩国bj大尺度vip福利网站 | 免费国产视频在线观看 | 色射影院 | 国产女厕一区二区三区在线视 | 欧美一区二区三区四区五区 | 99久久久无码国产精品性青椒 | 暴操白虎| 免费看黄视频的网站 | 国产精品一亚洲av日韩av欧 | 色校园| 天堂av影院 | 91avcom| 怡红院精品视频 | 91精品国产乱码久久 | 蜜桃av成人永久免费 | 超碰网址 | 天天想你免费观看完整版高清电影 |