1. 程式人生 > >組合語言實驗3-定址方式

組合語言實驗3-定址方式

本文為《組合語言程式設計》配套實踐。點選連結…進課程主頁。

1. 實驗目的

  • 理解程式在訪問記憶體單元時採用的各種定址方式
  • 學會基於字元的ASCII編碼,進行大小寫轉換、簡單加密等方法
  • 學會用loop指令,結合定址方式,編制單層和雙層迴圈程式解決問題

2. 實驗內容

任務0-完成本週課堂程式的除錯

  (1)有8位IT菜鳥工程師,第一行資料是他們的基本工資,第二行是績效工資,程式設計求出總工資放在第三行。

data segment
     dw 6290, 7230, 2943, 3360, 7469, 6871, 3067, 3086
     dw 7288, 7160, 5733
, 7030, 5281, 6891, 4853, 4539 dw 0,0,0,0,0,0,0,0 data ends

參考解答
  (2)在下面的資料段中,給出了全班5名同學OS、AL、SE、DB課程的成績,請程式設計計算出總成績,寫在0值處

datasg segment
    dw 54, 74, 71, 52, 0
    dw 68, 54, 93, 95, 0
    dw 81, 52, 97, 67, 0
    dw 98, 77, 69, 99, 0
    dw 79, 71, 69, 73, 0
datasg ends

參考解答

任務1-字串加密

   (1)程式設計為datasg段中字串中的每個字元加密,加密規則是:每個字元的ASCII值加4。加密好的字元寫在待加密字元的後面

assume cs:codesg,ds:datasg
datasg segment
      db 'aah, I love you!'
      db '................'
datasg ends
codesg segment
start: (寫程式)
       mov ax,4c00h
       int 21h
codesg ends
end start

  (2)程式設計為datasg中的每個字串加密,加密的規則是,每行第1個字元ASCII碼加1,第2個字元ASCII碼加2,依類類推。已知每個字串固定為16個字元,非空格字元不足16的,後都是空格。加密後的符號替代原字任,就寫在原處。

datasg segment
      db 'He Li Jian      '
      db 'Zhai Yi Ming    '
      db 'Sun Xue Jiao    '
      db 'Ma Wen Ming     '
datasg ends

參考解答

任務2-轉圈求和

  (1)寫程式,對給出的8個數,將相鄰的數求和(最後寫第一個數與最後一個數的和),並把結果寫在其後。在下面的示例中,求和的結果為3 5 7 9 11 13 15 9。

datasg segment
      dw 1, 2, 3, 4, 5, 6, 7, 8
      dw 0,0,0,0,0,0,0,0
datasg ends

提示1:相鄰的兩數,若前一數用[si]指示,相鄰的後面一數則為[si+2]
提示2:前7個和數可以用統一的規則做出,最後一個和數,呃,要回頭去找,不妨特殊處理。

  (2)若要求將結果寫在提供源資料的位置上,而不是在隨後的空間中呢?
參考解答

相關推薦

組合語言實驗3-方式

本文為《組合語言程式設計》配套實踐。點選連結…進課程主頁。 1. 實驗目的 理解程式在訪問記憶體單元時採用的各種定址方式 學會基於字元的ASCII編碼,進行大小寫轉換、簡單加密等方法 學會用loop指令,結合定址方式,編制單層和雙層迴圈程式解決問題

王爽 組合語言 實驗7 方式在結構化資料訪問中的應用,用棧實現

assume cs:codesg data segment db '1975','1976','1977','1978','1979','1980','1981','1982','1983' db

組合語言(王爽第三版)實驗7 方式在結構化資料訪問中的應用

這個實驗我自己摸索了好幾個小時才弄出來,最後想通了發現自己把問題想複雜了。 1、個人認為最簡單的方法 assume cs:code,ds:data data segment db '1975','1976','1977','1978','1979','1980','19

王爽 組合語言 第二版 實驗方式在結構化資料訪問中的使用 原始碼

這是學習彙編以來遇到的最繁瑣的一個程式,其實思路理清了也就是那麼回事,但還是花了一整個晚上才把它寫出來,晒晒 assume cs:code data segment db '1975','1976','1977','1978','1979','1980','1981

(王爽版)彙編實驗7 方式在結構化資料訪問中的應用

題目如下: 彙編程式碼如下: assume cs:codesg ;資料段 data segment db '1975','1976','1977','1978','1979','1980','1981','1982','1983' db '1984'

組合語言——彙編的8種方式,以及2個預設段暫存器

1.立即定址方式 MOV AH, 80H(直接給暫存器賦值)2. 暫存器定址方式(源或者目的有一個是暫存器) 2.1) 源運算元是暫存器定址方式 如:ADD VARD, EAX  ADD VARW, AX   MOV VARB, BH等。 其中:VARD、VARW和VARB是雙字,字和位元組

Atitit 計算機系統結構 計算機系統結構 Cpu 儲存 cache 指令系統 目錄 Line 56: 第2章指令系統設計 指令格式 方式 1 Line 64: 第3章CPU及其實現

Atitit 計算機系統結構  計算機系統結構   Cpu  儲存 cache   指令系統 目錄 Line 56: 第2章指令系統設計 指令格式  定址方式 1 Line 64: 第3章CPU及其實

組合語言資料方式

資料定址方式 1、 立即數定址 立即數定址:指令需要的運算元緊跟在操作碼之後稱之為指令機器碼的一部分,並隨著處理器的取址操作需要從主存進入指令暫存器。這些運算元用常量形式直接表達,從指令程式碼中立即得到立即數,立即數定址方式只用於指令的原運算元,在傳送指令過程中常用來給暫存器和儲存單

組合語言方式(針對16位

定址方式 立即定址 mov ax,3064H(運算元放在指令的下一個單元中) 暫存器定址 mov ax,bx,(運算元放在暫存器中) 前兩種地址都是基於本程式碼段的 直接定址 mov ax,[2000H],(運算元放在記憶體中,指令中直接給出記憶體地址)(其實是

組合語言入門:幾種方式之比較

考慮到上一章的“定址方式”太重要了,遂單獨成章,作文於此 直接定址 適用於偏移地址為[idata]的情形 CS: IP存放程式碼指標(2000: 000E) 地址加法器合成C

(2011.11.06)組合語言第02章習題(方式組合語言程式的組織)

   組合語言第02章習題(定址方式與組合語言程式的組織) 2.2  有兩個16位的字1EE5H 和 2A3CH 儲存在IBM PC 的000B0H 和000B03H 的記憶體單元中,請以圖表的形式說明記憶體中的儲存情況     解:(遵照高高低低的原則)        

組合語言的七種方式

立即定址   指令中直接給出運算元 MOV A, #30H ;把立即數30H傳送到累加器A,執行後(A)=30H 直接定址   指令中直接給出運算元內部RAM單元地址 MOV A,

組合語言基礎四 —— 運算元的方式

另外,在32位微機系統中,為了擴大對儲存單元的定址能力,增加了一種新的定址方式——32位地址的定址方式。     1.立即定址方式 運算元作為指令的一部分而直接寫在指令中,這種運算元稱為立即數,這種定址方式也就稱為立即數定址方式。 立即數可以是8位、16位或32位,該數值緊跟在操作碼之後。如果立即數為16

資料表示、方式與指令系統_計算機系統結構第二章_自考本科

概要:計算機系統結構第二章資料表示、定址方式與指令系統知識點小結 一、資料表示(應用) 1、資料表示的定義,資料表示與資料結構的關係     定義:能由計算機硬體識別和引用的資料型別,表現再它有對這種型別的資料進行操作的指令和運算部件 &nbs

組合語言 實驗3

  實驗3 實驗內容1:執行exe檔案輸出資料,並觀察每一步的除錯情況 步驟1:在記事本中編寫t1.asm檔案   步驟2:在dosbox環境下彙編、連線、執行檔案,得到資料36     步驟3:修改dl暫存器中的值為0-9中任意一個數,重新編譯連結執行

彙編中的方式

儲存器   儲存器(Memory)是現代資訊科技中用於儲存資訊的記憶裝置。其概念很廣,有很多層次,在數字系統中,只要能儲存二進位制資料的都可以是儲存器;在積體電路中,一個沒有實物形式的具有儲存功能的電路也叫儲存器,如RAM、FIFO等;在系統中,具有實物形式的儲存裝置也叫儲存器,如記憶體條、

微控制器的幾種方式

定址就是尋找指令中運算元或運算元所在的地址。所謂定址方式,就是如何找到存放運算元的地址,把運算元提取出來的方法。通常指源運算元的定址方式。 MCS-51系列微控制器定址方式共有七種:暫存器定址、直接定址、立即數定址、暫存器間接定址、變址定址、相對定址、位定址。 1、暫存器定址 暫

MIPS的暫存器、指令和方式的分類

MIPS的32個暫存器 助記符 編號 作用 zero 0 恆為0 at 1 (assembly temporary)保留給彙編器使用 v0,v1 2-3

真實模式與保護模式的方式

文章目錄 一、真實模式定址 二、保護模式定址 三、參考資料 一、真實模式定址 CPU 在真實模式下,地址匯流排只有 20 位,定址空間為 1 M。 20 位的目標實體地址取決於兩個條件,一是 16 位的段基址,二是

計算機組成原理 方式小結

定址方式小結 定址方式 立即定址 直接把常量寫進指令裡面 運算元作為指令的一部分而直接寫在指令中,這種運算元稱為立即數。這種定址方式也就稱為 立即數定址方式 暫存器定址 指令放暫存器地址 暫存器讀寫資料 指令所要的運算元已儲存在某暫存器中,或把目標運算元 存