首页 > 编程语言 >王爽汇编实验12

王爽汇编实验12

时间:2024-10-24 18:16:51浏览次数:3  
标签:汇编 12 di mov si 王爽 ax do0 es

下面是实验十二的代码

assume cs:code

code segment
start:		;do0的安装程序,只需要安装一次,以后无需此步骤
			mov ax, cs
			mov ds, ax
			mov si, offset do0					;设置ds:si指向do0程序所在位置
			
			mov ax, 0
			mov es, ax
			mov di, 200h						;设置es:di指向中断向量表内存空间的空闲位置,目标安装位置
			
			mov cx, offset do0end-offset do0	;设置传输长度,即中断程序do0的长度
			
			cld									;设置传输方向为正
			rep movsb							;通过loop循环,将do0程序安装在目标位置
			
			
			
			;设置中断向量:中断类型码,根据中断向量地址,前往对应的中断程序
			mov ax, 0
			mov es, ax							;段寄存器不支持直接输入数据
			mov word ptr es:[0], 200h			;设置中断程序所在的偏移地址IP
			mov word ptr es:[2], 0				;设置中断程序所在的偏移地SP
			
			mov ax, 4c00h
			int 21h
			
			
			
			;编写0号中断程序do0,功能为显示字符串"overflow!"
do0:		jmp short do0start					;该指令占2个字节
			db "divide error!"
			
do0start:	mov ax, cs
			mov ds, ax
			mov si,	202h						;设置ds:si指向字符串地址
			
			mov ax, 0b800h			
			mov es, ax
			mov di, 12*160 + 36*2				;设置es:di指向显示字符串在显存空间的自定义目标位置
			
			mov cx, 13
	sdo0:	mov al, [si]
			mov es:[di], al
			inc si
			add di, 2
			loop sdo0
								
			mov ax, 4c00h						;一旦出现除法溢出这种错误,直接将控制权交付给操作系统,不再向下进行
			int 21h
			
do0end:		nop
code ends
end start
			
			
			
			

标签:汇编,12,di,mov,si,王爽,ax,do0,es
From: https://blog.csdn.net/2301_81570594/article/details/143216393

相关文章

  • 多校A层冲刺NOIP2024模拟赛12
    多校A层冲刺NOIP2024模拟赛12\(T1\)A.Alice和璀璨花\(65pts/65pts/65pts\)部分分测试点\(1\sim10\):设\(f_{i,j}\)表示前\(i\)位中生长趋势子序列长度为\(j\)时的末尾最小元素,然后进行暴力转移。测试点\(11\sim13\):观察到至多选择\(\left\lceil\log_......
  • 『模拟赛』多校A层冲刺NOIP2024模拟赛12
    Rank挂了不少,还行A.Alice和璀璨花签。一眼最长上升子序列,昨天在AT专题里刚见过,不过赛时没想到离散化之后树状数组,所以打的动态开点,结果细节挂了30pts。和最长上升子序列思路基本一致,直接区间查询\([1,a_i-1]\)的最大值,然后在\(a_i\timesb_{f_i}\)插入\(f_i\)......
  • mysql 1206 - The total number of locks exceeds the lock table size
    由于数据量过大导致报错:Thetotalnumberoflocksexceedsthelocktablesize解决方法:输入查询:showvariableslike"%_buffer%";找到对应的 innodb_buffer_pool_size 默认值是8388608  8兆将这个数值设置的大一点,比如1G1G=1024*1024*1024=1073741824 setGLOB......
  • 基于RFC3394标准的AES-128-ECB模式的密钥封装(Key Wrap)和解封(Key Unwrap)
    密钥封装(KeyWrap):RFC3394默认IV为0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6,0xA6。使用AES_Encrypt函数对IV和密钥数据块进行加密,并将结果与步数异或。经过6n轮迭代后,将最终的IV和加密后的数据块复制到输出的密文中。密钥解封(KeyUnwrap):从输入的密文中提取了IV和加密的......
  • 使用OpenSSl库实现AES-GCM-128算法(C语言)
    在C语言中使用OpenSSL库实现AES-GCM-128算法,并生成GMAC(GaloisMessageAuthenticationCode)消息认证码,通过以下步骤完成:初始化加密环境:创建一个EVP_CIPHER_CTX结构体,用于存储加密过程中的所有必要信息。设置加密算法:指定使用AES-GCM模式,以及密钥和IV(初始化向量)。处理附加认证......
  • 2024.10.24 1234版
    起于《海奥华预言》的思考◆地球管理结构和参考持续更新中...... 英文地址:https://github.com/zhuyongzhe/Earth/tags中文地址:https://www.cnblogs.com/zhuyongzhe85作者:朱永哲 ---------------------------------------------------------------------------------......
  • 【Shiro】12.自定义过滤器
    通过查看若依源码(ruoyi-framework)下的过滤器文件(src.main.java.com.ruoyi.framework.config.ShiroConfig)可以发现设置了过滤器。过滤器(Filter)是JavaServlet技术中的一个重要部分,主要用于在Servlet处理请求之前或响应之后对数据进行某些处理。可以这么理解。如果类比到......
  • 《使用Gin框架构建分布式应用》阅读笔记:p127-p142
    《用Gin框架构建分布式应用》学习第9天,p127-p142总结,总计16页。一、技术总结1.Authentication方式汇总(1)APIkeysAPIkeys认证方式示例:func(handler*RecipesHandler)NewRecipeHandler(c*gin.Context){ //API-keys认证 value:=os.Getenv("X-API-KEY") log.Print......
  • 汇编语言
    寄存器RIP存放下一条指令的偏移地址RSP存放当前栈帧的栈顶偏移地址RBP存放当前栈帧的栈底偏移地址RAX通用寄存器。存放函数的返回值汇编实际中执行指令时,EIP已经移动到下一行了cmp语句cmpa1,0x61suba1,0x61本质a1-0x61a1=a1-0x61不同a1不会赋值a1......
  • P7912 [CSP-J 2021] 小熊的果篮 题解
    是模拟吗?其实是的,虽然$1\len\le2\times10^5$,但是队列是个好东西.我们定义一个结构体,来存放每一个块的信息,包括类型、起点、终点,将它们放入队列当中,再使用基于广搜的思想,先处理,再合并,所以需要用到$2$个队列.注意点数据中可能会有块的类型全是$1$,或者全是$0$的情况......