匯編語言程序設計實驗三 數據串傳送和查表程序

  • 實驗目的和要求

1、堆棧。堆棧指示器SP和堆棧操作指令PUSHPOP

2、段寄存器和物理地址計算。

3、查表法和查表指令XLAT

4、數據串傳送程序和數據串傳送指令MOVSSTOS及重復前輟REP

5、循環指令ROL。邏輯與指令AND和清方向位指令CLD

6、偽操作指令DB

  • 實驗環境

Windows7 DOSBox 0.74

  • 實驗內容與過程

1.編寫實驗任務要求的程序

2.學習一下調試方法

利用查表方法把DX的內容(16進制數)轉換成ASCII:

1)、用A命令鍵入下列程序:

MOV?? BX,1000MOV?? DI,2000MOV?? CX,4LOP: PUSH?? CXMOV?? CL,4ROL?? DX,CLPOP?? CXMOV?? AL,DLAND?? AL,OFXLATCLDSTOSBLOOP? LOPINT?? 20

2A命令在1000H處鍵入下列ASCII碼并用D命令檢查之:

DB `0 1 2 3 4 5 6 7 8 9 A B C D E F'

D命令檢查時注意左邊的ASCII碼值和右邊的字符。

3)用R命令給DX送一個四位的16進制數(7F8E)

4)用T命令逐條運行這程序到LOOP指令處,觀察并記錄每次運行結果,特別是SP和堆棧內容(D命令檢查)

5)用G命令將此程序運行到結束,并用D命令檢查2000H處所轉換的結果。可注意屏幕右邊的ASCII字符與DX是否一致。

3.驗證:數據串搬家程序:

1)用A命令鍵入下列程序:

MOV?? SI,1000MOV?? DI,1500MOV?? CX,0FLOP: MOV?? AL,[SI]MOV?? [DI],ALINC?? SIINC?? DILOOP? LOPINT? 20

2A命令DB偽指令在1000H鍵入下列字符串:

IBM_PC COMPUTER'

3G命令運行此程序,并用D命令檢查目的地址處的字符與源串是否一致

一致

4.段寄存器概念及字符串傳送指令練習:

1)用A命令鍵入下列程序:

MOV?? SI,0MOV?? DI,0MOV?? AX,1000MOV?? DS,AXMOV?? AX,1500MOV?? ES,AXMOV?? CX,0FCLDREP?? MOVSBINT?? 20

2A命令DB偽指令在1000:0000處鍵入字符串'IBM_PC COMPUTER',并用D命檢查之

3D命令檢查0F00:1000處內容,看是否一樣為什么?

?4G命令運行此程序,檢查目的地址1500:0000處內容。并記下DSES值。

  • 實驗結果與分析

1、把實驗準備(二)程序中的目的地址改為1002H,再運行此程序,看能不能把1000H開始的 字符串搬到1002H開始的地方去?

不能,會被覆蓋。

2、修改實驗準備(二)程序以做到把1000H開始的字符串搬到1002H開始的地方去

可以看到整個字符段向后移兩個字節

輸入一1對應十六進制數為 十六進制數為0000000Ih ,取絕對值為1對應從運行結果可以看到存放高字的dx=0000存放 低字的ax=0001

?? 4將雙字(DX,AX)左移4 位。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/719231.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/719231.shtml
英文地址,請注明出處:http://en.pswp.cn/news/719231.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

五步法搞定 BI 業務需求梳理

五步法搞定 BI 業務需求梳理。高手就是把復雜的事情簡單化,簡單的東西重復做、認真做。 01 五步法是哪五步 第一、明確用戶 五步法搞定 BI 業務需求梳理。高手就是把復雜的事情簡單化,簡單的東西重復做、認真做。 第二、明確指標 在明確需求用戶的前…

LeetCode 2125.銀行中的激光束數量

銀行內部的防盜安全裝置已經激活。給你一個下標從 0 開始的二進制字符串數組 bank ,表示銀行的平面圖,這是一個大小為 m x n 的二維矩陣。 bank[i] 表示第 i 行的設備分布,由若干 ‘0’ 和若干 ‘1’ 組成。‘0’ 表示單元格是空的&#xff0…

NERF論文筆記

NeRF:Representing Scene as Neural Radiance Fields for View Synthesis 筆記 摘要 實現了一個任意視角視圖生成算法:輸入稀疏的場景圖像,通過優化連續的Volumetric場景函數實現;用全連接深度網絡表達場景,輸入是一個連續的5維…

Unity(第二十部)效果 粒子、線條和拖尾

1、粒子系統 粒子系統介紹 Unity 粒子系統是 Unity 引擎中用于創建和控制粒子效果的工具。它可以模擬各種自然現象,如火焰、煙霧、雨滴等,也可以用于創建特效,如魔法光芒、爆炸效果等。 粒子系統組成 在 Unity 中,粒子系統由發射…

用 Dockerfile為鏡像添加SSH服務

1、基礎鏡像ubuntu:18.04 2、替換為國內的安裝源 3、安裝openssh-server 4、允許root用戶遠程登陸 5、暴露端口22 6、服務開機自啟動 1.創建目錄 [rootopenEuler-node1 db]# mkdir sshd_ubuntu 2.創建 Dockerfile、 run.sh 、authorized_keys、vim aliyun.list 文件 [rootop…

網盤拉新如何對接?盤點最靠譜的一手渠道平臺

2024網盤行業再次重燃戰火。字節旗下產品頭條搜索極速版APP、悟空瀏覽器APP推出對應的網盤功能,剛剛開放了拉新推廣,現在是一個不能錯過新項目的好時機。 如果你對網盤拉新推廣充滿熱情,千萬不要錯過星子助推聯合字節推出的網盤項目機會。小…

python自動化之如何利用allure生成測試報告

Allure測試報告框架幫助你輕松實現”高大上”報告展示。本文通過示例演示如何從0到1集成Allure測試框架。重點展示了如何將Allure集成到已有的自動化測試工程中、以及如何實現報表的優化展示。Allure非常強大,支持多種語言多種測試框架,無論是Java/Pytho…

成功的交易沒有對錯,只有邏輯

大部分人將交易失敗歸咎于心態,但其實我們是否認真思考過自己的基本功是否扎實呢?這篇文章將引導你換個角度看待交易,讓你明白自己應該努力的方向。 曾經,你或許認為資金體量小、信息不對稱、技術不過關、心態不過硬是阻礙交易發展…

TikTok外貿系統的核心功能及其源代碼分享!

隨著全球化的不斷推進,外貿業務成為越來越多企業的增長動力,TikTok作為一個全球性的社交媒體平臺,其用戶基數龐大、活躍度高,為外貿業務提供了無限的商機。 為了幫助企業在TikTok上更好地開展外貿業務,TikTok外貿系統…

【DDD】學習筆記-聚合和聚合根:怎樣設計聚合?

今天我們來學習聚合(Aggregate)和聚合根(AggregateRoot)。 我們先回顧下上一講,在事件風暴中,我們會根據一些業務操作和行為找出實體(Entity)或值對象(ValueObject&…

47、WEB攻防——通用漏洞Java反序列化EXP生成數據提取組件安全

文章目錄 序列化和反序列化的概念: 序列化:把java對象轉換成字節流的過程;反序列化:把字節流恢復為java對象的過程。 對象的序列化主要有兩種用途: 把對象的字節流永久的保存在硬盤上,通常存放在一個文件…

網絡分析工具簡介及匯總

文章目錄 一、網絡分析工具軟件是什么二、網絡分析工具軟件作用三、常見的網絡分析工具 一、網絡分析工具軟件是什么 網絡分析工具軟件是一種用于捕獲、分析和解釋網絡數據包的工具。它們可以直接從網絡接口上捕獲數據包,并提供詳細的信息和統計數據,以幫…

xss.haozi.me:0x0B

<svg><script>(1)</script>

洛谷 B3620 x 進制轉 10 進制

題目描述 給一個小整數 x 和一個 x 進制的數 S。將 S 轉為 10 進制數。對于超過十進制的數碼&#xff0c;用 A&#xff0c;B&#xff0c;…… 表示。 輸入格式 第一行一個整數 x; 第二行一個字符串 S。 輸出格式 輸出僅包含一個整數&#xff0c;表示答案。 輸入輸出樣例…

【JavaScript】面試手撕淺拷貝

【JavaScript】面試手撕淺拷貝 引入 淺拷貝和深拷貝應該是面試時非常常見的問題了&#xff0c;為了能將這兩者說清楚&#xff0c;于是打算用兩篇文章分別解釋下深淺拷貝。 PS: 我第一次聽到拷貝這個詞&#xff0c;有種莫名的熟悉感&#xff0c;感覺跟某個英文很相似&#xff…

Linux文本處理三劍客:awk(內置函數詳解筆記)

Linux系統中&#xff0c;AWK 是一個非常強大的文本處理工具&#xff0c;它的內置函數使得對文本數據進行處理更加高效和便捷。 本文將介紹 AWK 內置函數的幾種主要類型&#xff1a; 算數函數字符串函數時間函數位操作函數其他常用函數 我們將使用一個示例文本文件來演示這些函…

局域網如何搭建服務器?

隨著網絡的普及和應用場景的不斷拓展&#xff0c;局域網搭建服務器逐漸成為大家關注的話題。在日常生活和工作中&#xff0c;我們經常需要通過局域網和互聯網進行文件共享、資源訪問等操作&#xff0c;而搭建服務器則是實現這些功能的重要手段之一。本文將針對局域網搭建服務器…

SwiftUI 如何在運行時從底層動態獲取任何 NSObject 對象實例

概覽 眾所周知,SwiftUI 的推出極大地方便了我們這些禿頭碼農們搭建 App 界面。不過,有時我們仍然需要和底層的 UIKit 對象打交道。比如:用 SwiftUI 未暴露出對象的接口改變視圖的行為或外觀。 從上圖可以看到,我們 SwiftUI 代碼并沒有設置視圖的背景色,那么它是怎么變成綠…

vscode 本地/遠程添加python解釋器

文章目錄 1. 背景2. 增加python解釋器 1. 背景 我們在使用 vscode 去遠程調試代碼時&#xff0c;如果環境存在多個 Python 版本&#xff08;如用 conda 管理&#xff09;&#xff0c;沒有選擇正確的 Python 解釋器會導致少包、庫不適配等各種問題 2. 增加python解釋器 windo…

鴻蒙系統適配的流程

鴻蒙系統適配的流程通常涉及以下關鍵步驟&#xff0c;以下是鴻蒙系統適配的一般流程&#xff0c;具體流程可能會根據項目的具體需求和開發團隊的情況進行調整和優化。北京木奇移動技術有限公司&#xff0c;專業的軟件外包開發公司&#xff0c;歡迎交流合作。 1. 準備工作&#…