Lab1

  • 代码

; 在屏幕上输出内存单元中的十进制两位数
assume cs:code, ds:data
data segment
db
db , ; 前一个字节用于保存商,后一个字节用于保存余数
data ends
code segment
start:
mov ax,data
mov ds,ax ; 补全指令,使得ds <-- data段地址 mov ah,
mov al,ds:[] ; ax <-- data段字节单元的被除数12
mov bl,
div bl
mov ds:[],al ; 补全代码,让商保存到data段注释中指定的单元
mov ds:[],ah ; 补全代码,让余数保存到data段注释中指定的单元 mov ah,
mov dl,[] ; 补全代码,使得dl <-- data段中保存的商的字节单元数值
add dl,30h ; 补全代码,使得dl中的数值转换为数字字符
int 21h mov ah,
mov dl,[] ; 补全代码,使得dl <-- data段中保存余数的字节单元数值
add dl,30h ; 补全代码,使得dl中的数值转换为数字字符
int 21h mov ax,4c00h
int 21h
code ends
end start
  • 结果

Lab2

  • 代码

assume cs:code, ds:data,ss:stack
data segment
db ,,,,
db ,
data ends
stack segment
stack ends
code segment
start:
; 补全程序,参考t1.asm,综合应用以下知识完成:
; (1) loop指令、内存单元地址的灵活表示
; (2) div指令, 数字→数字字符的转换
; (3) int 21h的2号子功能,完成单个字符输出的方法,即:
; mov ah,2
; mov dl,待输出字符或其ASCⅡ码
; int 21h
; (4) 数据和数据之间以空格间隔的实现: 使用(3)输出空格字符
mov ax,data
mov ds,ax
mov bx,
mov cx, s:mov al,ds:[bx]
push bx
mov ah,
mov bl,
div bl
mov ds:[],al
mov ds:[],ah mov ah,
mov dl,ds:[]
add dl,30h
int 21h mov ah,
mov dl,ds:[]
add dl,30h
int 21h mov ah,
mov dl,' '
int 21h pop bx
inc bx loop s mov ax,4c00h
int 21h
code ends
end start
  • 结果

Lab3

  • 代码

; p187 实验9

assume ds:data, cs:code
data segment
db 'welcome to masm!'
db 2H,24H,71H ;字符串属性值
data ends
code segment
start: mov ax,data
mov ds,ax ;字符串及属性值所在段的段地址送入ds mov ax,0b800H
mov es,ax ;80×25彩色字符模式显示缓冲区段地址送入es mov cx,
mov bx,07beH; 添加代码,通过循环逐个将每个字符及其属性送入相应的显示缓冲区对应行
mov si,
s1:mov al,[si]
mov es:[bx],al; 即:将data段的字符及属性通过循环逐个mov到显示缓冲区(es)段相应的单元内
inc bx; 可以先尝试分别写三段代码,每次完成一行的显示
inc si; 程序运行起来后,再尝试通过灵活的寻址方式和循环,对三段代码修改和简化
mov di,10H
mov al,[di]
mov es:[bx],al; 学习第10章子程序后,还可以进一步完善优化,设计子程序,将行号、列号、颜色属性设置成入口参数
inc bx
loop s1
mov al,[si]
mov es:[bx],al
inc bx
inc si
mov al,
mov es:[bx],al
inc bx mov cx,
s2:mov al,[si]
mov es:[bx],al
inc bx
inc si
mov di,11H
mov al,[di]
mov es:[bx],al
inc bx
loop s2
mov al,[si]
mov es:[bx],al
inc bx
inc si
mov al,
mov es:[bx],al
inc bx mov cx,
s3:mov al,[si]
mov es:[bx],al
inc bx
inc si
mov di,12H
mov al,[di]
mov es:[bx],al
inc bx
loop s3 mov ax,4c00h
int 21h
code ends
end start
  • 结果

【8086汇编-Day8】实验九的更多相关文章

  1. 8086汇编语言学习(二) 8086汇编开发环境搭建和Debug模式介绍

    1. 8086汇编开发环境搭建 在上篇博客中简单的介绍了8086汇编语言.工欲善其事,必先利其器,在8086汇编语言正式开始学习之前,先介绍一下如何搭建8086汇编的开发环境. 汇编语言设计之初是用于 ...

  2. Linux基础入门(新版)(实验九-实验十二)

    实验九 简单文本入门 一.常用的文本处理命令 二.文本处理命令 1.tr 命令 tr 命令可以用来删除一段文本信息中的某些文字.或者将其进行转换. 使用方式: tr [option]...SET1 [ ...

  3. 2017-2018-2 20155228 《网络对抗技术》 实验九:Web安全基础

    2017-2018-2 20155228 <网络对抗技术> 实验九:Web安全基础 1. 实践内容 1.1 标理解常用网络攻击技术的基本原理 1.2 在Webgoat实验环境下实践相关实验 ...

  4. 实验九 ZStack 广播通信实验

    实验九 ZStack 广播通信实验[实验目的]1. 了解 ZigBee 广播通信的原理2. 掌握在 ZigBee 网络中进行广播通信的方法[实验设备]1. 装有 IAR 开发工具的 PC 机一台2.  ...

  5. 2017-2018-2 20155225《网络对抗技术》实验九 Web安全基础

    2017-2018-2 20155225<网络对抗技术>实验九 Web安全基础 WebGoat 1.String SQL Injection 题目是想办法得到数据库所有人的信用卡号,用Sm ...

  6. 20155201 网络攻防技术 实验九 Web安全基础

    20155201 网络攻防技术 实验九 Web安全基础 一.实践内容 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 二.报告内容: 1. 基础问题回答 1)SQL注入攻击 ...

  7. 20155222卢梓杰 实验九 Web安全基础

    实验九 Web安全基础 今天不多bb,打开webgoat就是干好吧 1.简单字符串sql注入 可以看到这个实验说明是 "下表允许用户查看其信用卡号码.尝试插入一个SQL字符串,以显示所有信用 ...

  8. # 2017-2018-2 20155231《网络对抗技术》实验九: Web安全基础实践

    2017-2018-2 20155231<网络对抗技术>实验九: Web安全基础实践 实验要求: 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验内容: ( ...

  9. 20155235 《网络攻防》 实验九 Web安全基础

    20155235 <网络攻防> 实验九 Web安全基础 实验内容 SQL注入攻击 XSS攻击 CSRF攻击 WebGoat WebGoat是OWASP组织研制出的用于进行web漏洞实验的应 ...

随机推荐

  1. 第三周 day3 python学习笔记

    1.字符串str类型,不支持修改. 2.关于集合的学习: (1)将列表转成集合set:集合(set)是无序的,集合中不会出现重复元素--互不相同 (2)集合的操作:交集,并集.差集.对称差集.父集.子 ...

  2. LambdaToSql(轻量级ORM) 入门篇 开源项目

    为什么开发(背景) 最开始使用的是 sqlDbHelper,有微软的,有自己写的. 后来开始使用比较成熟的框架开发,使用过一段时间的Hibernate,后期主要使用 Entity FrameWork. ...

  3. 奇葩拿shell + 提权wind08r2奇葩拿shell + 提权wind08r2戏

    0x01 小隐拿站篇 某省还是市级还是县级的空防部 先来刺探目录,拿起御剑, 啪啪啪  (鼓掌)后台出来了   试试弱口令 擦  需要管理员验证码,这个咋玩????这个注入都不用找了,就算注射出账号密 ...

  4. MATLAB入门学习(三)

    我们再来看看矩阵常用的函数,除了上一篇提到的inv还有以下常见命令: det 计算方阵行列式 eig 计算特征值 trace 计算矩阵的迹 norm 计算矩阵的范数或模 orth 正交化 poly 求 ...

  5. C 语言实现多态的原理:函数指针

    C语言实现多态的原理:函数指针 何为函数指针?答案:C Programming Language. 能够查阅下,从原理上来讲,就是一个内存地址.跳过去运行相应的代码段. 既然如此,在运行时决定跳到哪个 ...

  6. UglifyJS 压缩选项

    UglifyJS 压缩选项 1.使用逗号运算符连接简单语句 2.使用点符号代替中括号属性     foo [“bar”]→foo.bar 3.删除逻辑上走不到的代码 4.删除调试代码    debug ...

  7. PAT——1010. 一元多项式求导

    设计函数求一元多项式的导数.(注:xn(n为整数)的一阶导数为n*xn-1.) 输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数).数字间以空格分隔. 输出格式:以与 ...

  8. 【洛谷P1373】小a和uim之大逃离

    小a和uim之大逃离 题目链接 因为每次只能向下或向右走,我们可以递推 dp[i][j][d][0/1]表示走到(i,j),mod k 意义下差值为d,轮到小a/小uim操作时的方案数 dp[i][j ...

  9. 【题解】洛谷P2375 [NOI2014] 动物园(KMP)

    洛谷P2375:https://www.luogu.org/problemnew/show/P2375 思路 这道题可以说是完全刷新了本蒟蒻对KMP的理解 感觉对next数组的理解上升到一个新的高度 ...

  10. C++分享笔记:5X5单词字谜游戏设计

    笔者在大学二年级刚学完C++程序设计后,做过一次课程设计,题目是:5X5单词字谜游戏设计.为了设计算法并编写程序,笔者在当时颇费了一番心力,最后还是成功地完成了.设计中不乏有精妙之处.该程序设计完全是 ...