汇编实验7

1. 计算给出数据的人均收入

assume cs:codesg
data segment
        db ‘1975‘,‘1976‘,‘1977‘,‘1978‘,‘1979‘,‘1980‘,‘1981‘,‘1982‘,‘1983‘
        db ‘1984‘,‘1985‘,‘1986‘,‘1987‘,‘1988‘,‘1989‘,‘1990‘,‘1991‘,‘1992‘
        db ‘1993‘,‘1994‘,‘1995‘

        dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
        dd 345980,590827,803530,118300,1843000,2759000,3753000,4649000,5937000

        dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
        dw 11542,14430,15257,17800

data ends

table segment
        db 21 dup (‘year sumn ne ??‘)
table ends

codesg segment
start:mov ax,data
      mov ds,ax

      mov ax,table
      mov es,ax

      mov bx,168
      mov si,0
      mov di,0
      mov cx,21

    s:mov ax,[si]
      mov es:[di],ax
      mov ax,[si+2]
      mov es:[di+2],ax

      mov ax,[bx]
      mov es:[di+2],ax

      mov ax,[si+84]
      mov es:[di+5],ax
      mov dx,[si+86]
      mov es:[di+7],dx

      div word ptr es:[di+10]
      mov es:[di+13],ax

      add bx,2
      add si,4
      add di,16
      loop s

      mov ax,4c00h
      int 21h
codesg ends
end start
时间: 2024-07-29 09:22:52

汇编实验7的相关文章

汇编实验课程设计1之设置时间半成品

;    感觉双休就想睡觉,这鬼天气,一直下雨.设置时间未完成,只是加了一个所谓的主界面;   display system time. press f1 to change the color displayed, press esc to return main list. f3 exit;    clear_screen 清空屏幕assume cs:codesgstacksg segment    dw 128 dup(0)stacksg endscodesg segment      

王爽汇编实验九

1 ;实验九 2 assume cs:code,ds:data 3 data segment 4 db 'welcome to masm!' 5 data ends 6 7 code segment 8 start : 9 mov ax,data 10 mov ds,ax;定义数据段 11 12 mov ax,0B800h 13 mov es,ax;定义显示段 14 15 mov cx,16 16 mov si,0 17 mov di,10*160+80 ;将输出显示放在第10行中间 18 19

汇编实验:彩色字符中间位置显示字符串

汇编实验九:在屏幕中间位置显示三行彩色字符串 80*25彩色字符模式显示缓冲区在B8000H到BFFFFH位置.一行80个字符号,160个字节.其中每个字的低位存储ASC2码,高位存储字符颜色属性.属性格式: 7 6 5 4 3 2 1 0 BL R G B I R G B7闪烁: 6.5.4背景: 3高亮: 2.1.0前景 0 1 0 0 1 0 1 0 4ah 0 1 0 0 0 1 0 1 45h 0 0 1 0 0 0 0 1 21h 1 assume cs:codes,ds:dates

王爽汇编实验十一

;实验11 ;把小写字母换成大写字母 assume cs:code , ds:data data segment db "Beginner's All-purpose Symbolic Instruction Code.",0 data ends code segment start: mov ax,data mov ds,ax mov si,0 call letterc mov ax,4c00h int 21h letterc: push ax push si fun: mov al

汇编实验1及博客初尝试

Part 1 这一篇博客应该不是传说中的技术博客.初闻博客该是小学的计算机课,那个时候老师教我们注册邮箱注册博客注册论坛.注册完了我们便去玩植物大战僵尸,不用动脑子的重复性操作.计算机老师也和我们探究了游戏的本质.一次一次的重复性操作.注册博客似乎要用到邮箱,邮箱无论是账号还是密码总是忘啊,这一周上课,下一周再用,账号密码不记得了.依稀记得计算机老师教我们骗过注册博客必须填邮箱的方法,手机号[email protected]或是[email protected].小学时写过第一篇博客.写了什么不

ICS2019-Linux汇编实验指导

ICS2019-Linux汇编实验指导 一. 首先安装NASM 1. 先判断系统是否已经安装了nasm 打开终端,执行  whereis nasm :如果显示nasm: /usr/bin/nasm ,则已经安装:如果只显示nasm:,则未安装. 如下图 则是未安装状态 2.下载NASM 点击这个链接下载 3.按照下面步骤安装nasm 依次输入以下命令 tar xzvf nasm-2.14.02.tar.gz  //  解压nasm cd nasm-2.14.02   // 进入目录 ./conf

汇编实验二

实验任务一: 用 a 命令输入指令调试前,使用 e 命令将内存单元 0021:0 ~0021:7 连续 8 个字节数据修改为 30H, 31H, 32H, 33H,34H,35H,36H,37H 用a命令输入指令 用t命令分布执行,并记录实验数据 由实验可知数据为: mov ax,[0]; ax=3130H mov ax,[2]; ax=6462H mov bx,[4]; bx=3534H add bx,[6]; bx=6c6aH push ax; sp=00feH;修改的内存单元的地址是220

汇编实验2和3

很久没更了,忙+懒...难受. 实验2 (1)首先写如下的汇编指令: 下面要求写出各个寄存器的值,这里直接在图中表示,不在给出. 这里可以看到ss是2200且sp开始为0100因为开始修改了它们的值,故修改的内存地址都是SS:SP,另外栈 内的内容也两种方式来给出.第一种直接分析可得push ax ,push bx,即把ax和bx寄存器中的值推到栈内由图 可知分别为c0fc,6021.另一种就是直接利用d命令进行查看,如图可知push [4]和 push [6] 修改的值分别为30f0, 2f3

汇编实验2 用机器指令和汇编指令编程

实验任务 (1)使用debug,将下面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空. a.使用 e 命令修改 0021:0~0021:f 数据为30H,31H,32H,33H,34H,35H,36H,37H,并查看. 截图 b.将下面的程序段写入内存 mov ax,0021 mov ds,ax mov ax,2200 mov ss,ax mov sp,0100 mov ax,[0]:                                             ax=3

汇编实验二 用机器指令和汇编指令编程

实验二  用机器指令和汇编指令编程 任务一: (1)用E命令将内存单元0021:0~0021:7连续8个字节数据修改为30H,31H,32H,33H,34H,35H,36H,37H. (2)用A命令输入汇编指令: (3)用T命令单步执行: 在用T命令执行MOV SS,AX时,它的下一条指令MOV  SP,0100同时执行. (4)填写书上内容: 任务二: 观察如图实验过程,分析为什么2000:0~2000:f中的内容会发生改变. 任意时刻,SS:SP指向栈顶元素,初始时栈为空.初始时,栈顶为0B