王爽汇编语言第三版实验4
目录
王爽汇编语言第三版实验1
王爽汇编语言第三版实验2
王爽汇编语言第三版实验3
王爽汇编语言第三版实验4
王爽汇编语言第三版实验5
王爽汇编语言第三版实验6
王爽汇编语言第三版实验7
王爽汇编语言第三版实验8和9
王爽汇编语言第三版实验10和11
王爽汇编语言第三版实验12
王爽汇编语言第三版实验13
王爽汇编语言第三版实验14
实验任务题目如下
第一和第二题运行结果相同,因此一起作答,代码如下
12345678910111213assume cs:codecode segment mov bx,0 mov ds,bx mov cx,40h next: mov ds:[bx+200h],bx inc bx loop next mov ax,4c00h int 21hcode endsend
运行结果
第三题:
12345678910111213141516assume cs:codesgcodesg segment ...
王爽汇编语言第三版实验3
目录
王爽汇编语言第三版实验1
王爽汇编语言第三版实验2
王爽汇编语言第三版实验3
王爽汇编语言第三版实验4
王爽汇编语言第三版实验5
王爽汇编语言第三版实验6
王爽汇编语言第三版实验7
王爽汇编语言第三版实验8和9
王爽汇编语言第三版实验10和11
王爽汇编语言第三版实验12
王爽汇编语言第三版实验13
王爽汇编语言第三版实验14
实验任务
将下面的程序保存为t1.asm,将其生成可执行文件t1.exe
用Vscode编写源程序t1.asm
用脚本一键生成可执行文件t1.exe
成功运行
查看资源管理器,成功生成T1.obj与t1.exe文件‘
用debug跟踪t1.exe的执行过程,写出每一步执行后,相关寄存器中的内容和栈顶的内容
同样用脚本一键调试程序
用u命令验证一下,指令是否写入程序
用t命令逐步执行
这里要注意的是当遇到int 21终止指令的时候,要使用p命令而不是用t命令
这里第一次做因为没有使用t命令,导致程序并没有正常退出
根据上面的运行结果,得出各个寄存器的值是
PSP的头两个字节是CD20,用Debug加载t1.exe,查看PSP ...
王爽汇编语言第三版实验2
目录
王爽汇编语言第三版实验1
王爽汇编语言第三版实验2
王爽汇编语言第三版实验3
王爽汇编语言第三版实验4
王爽汇编语言第三版实验5
王爽汇编语言第三版实验6
王爽汇编语言第三版实验7
王爽汇编语言第三版实验8和9
王爽汇编语言第三版实验10和11
王爽汇编语言第三版实验12
王爽汇编语言第三版实验13
王爽汇编语言第三版实验14
实验任务(1)使用Debug,将下面的程序段写 入程序,逐条进行,根据指令执行后的实际运行情况填空。123456789101112131415mov ax,ffffmov ds,axmov ax,2200mov ss,axmov sp,0100mov ax,[0] ;ax=C0EAHadd ax,[2] ;ax=COFCHmov bx,[4] ;bx=30F0Hadd bx,[6] ;bx=6021Hpush ax ;sp=00FEH ; 修改的内存单元的地址是2200:00FE内容为COFCHpush bx ;sp=00FCH ; 修改的内存单元的地址是2200:00FC内容为6021pop ax ...
王爽汇编语言第三版实验1
前言本系列的文章是对王爽老师的汇编语言中的实验的解答记录,原书一共有17个实验,由于学校的教学流程只做到了第14个实验,因此本文章只会有前十四个实验的解答记录,还有个比较重要的是,文章中会有原书实验中没有的题目,这些是我的老师自己加的,你不感兴趣就无视。btw,以这篇文章记录我的汇编语言的学习历程
目录
王爽汇编语言第三版实验1
王爽汇编语言第三版实验2
王爽汇编语言第三版实验3
王爽汇编语言第三版实验4
王爽汇编语言第三版实验5
王爽汇编语言第三版实验6
王爽汇编语言第三版实验7
王爽汇编语言第三版实验8和9
王爽汇编语言第三版实验10和11
王爽汇编语言第三版实验12
王爽汇编语言第三版实验13
王爽汇编语言第三版实验14
实验任务(1)使用Debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后CPU中相关寄存器中内容的变化。
提示,可用E命令和A命令以两种方式将指令写入内存。注意用T命令执行时,CS:IP的指向。注:由于篇幅问题,图片仅展示一部分!
解答:
使用A指令编写汇编指令,这里必须注意填写数值的时候不要有H!
更改CS:IP的指向
执行命令,AX和BX的 ...
Iptables,ufw,firewalld的关系与区别
iptables定义:iptables 是 Linux 内核中用于设置和维护 IP 数据包过滤规则的工具。它允许用户创建、管理和检查一系列的规则,这些规则定义了如何处理进入或离开系统的数据包。iptables 是一个底层工具,提供了强大的灵活性和控制能力,但同时也需要用户具备一定的网络知识来有效配置。
用人话总结:用来过滤网络流量的工具,很底层的意思就是非常难用且复杂。
ufw定义:ufw 是一个为简化 iptables 配置而设计的前端工具,特别适合于主机防火墙的设置。它通过提供简单的命令行界面,使得用户能够轻松地允许或阻止特定端口的流量。虽然 ufw 实际上依赖于 iptables 来实现其功能,但它隐藏了许多复杂性,使得防火墙配置变得更为直观和易于管理。
用人话总结:iptables不是很底层吗?ufw做的就是将iptables很难用且复杂的底层操作封装成几个很简单的命令,帮你省去一大堆参数和选项。
firewalldfirewalld 是 Red Hat 开发的一种动态防火墙管理工具,它同样可以作为 iptables 或 nftables 的前端。与 ufw 相比,firewa ...
解决vscode远程连接Linux无权限保存的问题
存在的问题用vscode远程登陆普通用户修改/etc/profile,保存文件时,出现了以下的问题。大体意思就是没有权限进行更改。
解决方法通常情况下,普通用户只能对自己home目录里面的文件进行更改,想要修改home目录以外的文件通常来说都是需要root权限的,在命令行界面可以利用vim编辑器配合sudo来达到这个目的,但是vscode的GUI编辑器里面是没有提供类似的功能的,如果想要通过vscode自带的编辑器修改没有权限的文件,可以通过这个插件
按下ctrl+shift+p,输入save as root
可以看到文件成功保存了
一键更换软件源的工具——chsrc
前言经常用pip,ubuntu的apt,或者centos的yum等包下载工具的人不可避免的一件事就是——“更换软件源”,因为以上三个包下载工具的软件源一般都是默认为国外的官方网站,由于国情问题,下载速度就会非常慢,所以我们使用这些包下载工具通常都会换源,但是更换软件源是一个比较麻烦的步骤,而且每个不同的包下载器的配置方法都是异构的,通常我可以用以下的步骤概括一下:
上网搜索相关的教程,找到想要更换的对应包下载工具软件源的方法
找到下载速度比较快,而且稳定的镜像站
找到包下载工具的配置文件,进行更改
而且不同的包下载工具,上面的步骤都是不一样的,所以就存在以下的痛点了:
不同镜像站的下载速度你要自己测量,很麻烦
不同包下载工具的配置文件的存放位置与修改方法都是异构的
在网上找教程经常会遇到互联网垃圾,需要一个个过滤
于是!🤓我就找到了一个很好用的换源工具——chsrc,这个命令行工具完美解决了以上的痛点,并且支持绝大多数的包下载器与系统换源(下面展示)
效果图还是老规矩,好不好用,直接看图说话,说再多都是虚的😊。
可用对象可用镜像站和可换源目标有很多,不过对我来说比较常用的就 ...
以root用户登陆ubuntu的桌面环境
前言在学习Linux的时候,经常都需要使用sudo权限来对配置文件进行修改,常用的方法就是用vim编辑器在命令行界面进行修改,比如 sudo vim /etc/profile,但我觉得每次都用命令行挺麻烦的,于是!🤓我就想办法直接用root用户的方法登陆桌面,然后用桌面的GUI编辑器直接编辑文本。下面的操作步骤是基于Ubuntu的,不过只要是使用Gnome桌面的发行版应该都是适用的
GNOME桌面环境是一个免费的开源桌面环境,最初是为Linux和其他类Unix操作系统开发的。GNOME的全称是GNU网络对象模型环境(GNU Network Object Model Environment),它旨在为用户提供一个友好且易于使用的图形界面。许多主要的Linux发行版,如Debian、Fedora、Ubuntu等,都将GNOME作为默认桌面环境
重要提示!!默认情况下,直接通过root用户登陆桌面,这个操作在默认情况下都是禁止的,因为这相当的危险(root用户可以不受限制对所有文件进行操作,所以在以root用户登陆桌面后,请谨慎进行操作!!不要乱删除一些重要的文件,尤其是配置文件
第 ...
Vscode运行Python无法导入自己编写的包的解决方法
前言 我写python代码,大多数时间都是使用vscode编辑器,一般而言,在导入第三方包或者是Python内置的包,基本上都不会遇到什么问题。然而,当我尝试导入一个跨文件自定义的包时,却遭遇了导入异常的问题,因此我写下这篇文章是记录我解决这个问题的方法与思路,希望通过分享解决这一问题的方法,帮助遇到类似问题的开发者。以及我觉得“包”这个称呼,不太贴切我们日常使用操作系统的习惯,因此后面我都会称呼为“文件夹”。
作者所使用的平台
Vscode编辑器
python3.8.10
venv虚拟环境
存在的问题导入模块时,可以看到编辑器并没有给出任何的报错
但是运行 cluster.py的时候,出现了下面的错误
1234Traceback (most recent call last): File "d:\z资料\s数学建模\MathModels\Models\cluster.py", line 6, in <module> from DataProcess.decomposer import PCAModuleNotFoundError: No m ...
删除微信重复文件的简易工具
前言!!!!温馨提示:假如你是小白,啥都不懂,请直接跳到文章的最后!!!
原本我是没想写这篇文章,契机是某一天我突然打开微信的存储空间占用才发现。多少?😡我寻思平常也不怎么用微信,怎么占用的空间这么离谱,居然有20个G左右,这是在微信上存了个小电影吗?
抱着好奇心的我,打开了微信的物理存储位置,其他平台我没试过,仅在windows平台下测试过,存储位置一般能通过这样打开
找寻到存储文件的位置,一般是子目录 FileStorage\File这个位置就是用来存储通过微信保存的各种文件,而且会按照日期排序
随便点进去一个会发现,这个文件夹下存储了大量相同的文件,然后在原有的文件的名字后面加上(1),(2),(3),(1)(1)这种序号,也就是说这些文件都是被重复存储了
存在的问题通过上面的流程,可以得出一个结论,微信是存储了大量重复文件,才会占用这么大的存储空间,我在网上也找了一些解释,这个似乎跟微信的存储策略有关
据悉,这种情况出现的原因之一是微信的文件转发策略导致。例如将同一份文件转发给多个好友,每一次转发都会重新保存一份在手机上,重复文件占用了手机大量存储空间。而且过 ...