汇编语言实验3-寻址方式

简介: 本文为《汇编语言程序设计》配套实践。点击链接…进课程主页。1. 实验目的理解程序在访问内存单元时采用的各种寻址方式学会基于字符的ASCII编码,进行大小写转换、简单加密等方法学会用loop指令,结合寻址方式,编制单层和双层循环程序解决问题2. 实验内容任务0-完成本周课堂程序的调试  (1)有8位IT菜鸟工程师,第一行数据是他们的基本工资,第

本文为《汇编语言程序设计》配套实践。点击链接…进课程主页。

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)若要求将结果写在提供源数据的位置上,而不是在随后的空间中呢?
参考解答

目录
相关文章
|
4月前
|
存储 缓存 安全
learn_C_deep_9 (汇编角度理解return的含义、const 的各种应用场景、volatile 的基本理解与实验证明)
learn_C_deep_9 (汇编角度理解return的含义、const 的各种应用场景、volatile 的基本理解与实验证明)
|
9月前
|
算法 vr&ar 网络架构
汇编实验4(99乘法表,整数分解,素数环,迷宫问题)【栈传参,递归,寻址方式】
汇编实验4(99乘法表,整数分解,素数环,迷宫问题)【栈传参,递归,寻址方式】
72 0
|
12月前
【8086汇编】《汇编语言(第三版)》实验一
需要用到的指令✨✨ 查看、修改CPU中寄存器的内容:R命令 查看内存中的内容:D命令 修改内存中的内容:E命令(可以写入数据、指令,在内存中,它们实际上没有区别) 将内存中的内容解释为机器指令和对应的汇编指令:U命令 执行CS:IP指向的内存单元处的指令:T命令 以汇编指令的形式向内存中写入指令:A命令
汇编语言与微机原理实验五:键盘按键与数码管显示
汇编语言与微机原理实验五:键盘按键与数码管显示
154 0
汇编语言与微机原理实验四:8259单脉冲触发中断
汇编语言与微机原理实验四:8259单脉冲触发中断
117 0
汇编语言与微机原理实验一、实验二、实验三:分支程序设计/循环程序设计/子程序设计
汇编语言与微机原理实验一、实验二、实验三:分支程序设计/循环程序设计/子程序设计
135 0
超详细汇编注释 操作系统实验二 操作系统的引导(哈工大李治军)(二)
超详细汇编注释 操作系统实验二 操作系统的引导(哈工大李治军)(二)
131 0
超详细汇编注释 操作系统实验二 操作系统的引导(哈工大李治军)(二)
|
存储 Ubuntu Linux
超详细汇编注释 操作系统实验二 操作系统的引导(哈工大李治军)(一)
超详细汇编注释 操作系统实验二 操作系统的引导(哈工大李治军)(一)
175 0
超详细汇编注释 操作系统实验二 操作系统的引导(哈工大李治军)(一)
汇编实验三
实验3 数据传送指令练习 一、实验目的: 1.熟悉IBM PC机的数据传送指令的使用。 2. 掌握堆栈的作用。 3.掌握堆栈指示器SP和堆栈操作指令PUSH、POP。 二、实验内容: 1.将数据段中偏移地址为0000H的连续三个字节内容传送至该段偏移地址为0003H的连续三个字节单元中。要求使用直接寻址、寄存器间接寻址方式。
131 0
汇编实验三
|
Ruby
汇编实验2 寻址方式练习
实验目的: 1.理解存储器分段及寻址方式的意义 2.熟练掌握立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址等几种寻址方式。 3.复习巩固DEBUG中的R、D、E命令。 4.掌握用A命令编制程序,U命令进行反汇编,用G、T命令执行程序。
224 0
汇编实验2 寻址方式练习