Apollon_krj的博客

私信 关注
Apollon_krj
码龄5年

岁月悠悠,衰微只及皮肤;热忱抛却,颓唐必至灵魂。

  • 554,737
    被访问量
  • 148
    原创文章
  • 8,331
    作者排名
  • 347
    粉丝数量
  • 毕业院校 西安邮电大学
  • 于 2016-05-02 加入CSDN
获得成就
  • 获得421次点赞
  • 内容获得129次评论
  • 获得806次收藏
荣誉勋章
兴趣领域
  • #硬件开发
    #嵌入式硬件#硬件架构#arm开发#单片机#驱动开发
  • #后端
    #分布式#Linux#C/C++
  • #运维
    #安全#网络#Linux/CentOS#运维开发
TA的专栏
  • IOT
  • GIT专项学习记录
    1篇
  • 正则表达式
  • C/C++
    30篇
  • Data Structure and Algorithm
    17篇
  • APUE
    15篇
  • Network And Socket
    14篇
  • 信息安全/密码技术
    12篇
  • Intel 80x86架构【P6微架构】
    4篇
  • Assembler/Disassembler
    16篇
  • COFF PE/ELF
    5篇
  • Linux使用与操作系统原理
    12篇
  • Linux Shell
    7篇
  • 环境配置与错误处理
    20篇
  • Qt/MFC GUI
    5篇
  • 计算机编码
    2篇
  • 程序练习与测试
    7篇
  • 光电信息科学与工程
    2篇
  • Python基础
    1篇
  • 嵌入式交换机端口开发
    12篇
  • IEEE802.3 Documents Translatio
    4篇
  • SNIA Documents Translation
    4篇
  • S3C2440
    1篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

MQTT服务器搭建与测试记录

工作需要了解MQTT协议,与使用MQTT进行消息订阅发布,因此先了解下基本概念与本地测试环境搭建:1、基本概念:可参考:简书:MQTT 协议基本介绍2、环境搭建:可参考:常见MQTT服务器搭建与试用3、实测问题处理记录:1、下载服务器:http://emqtt.com/static/brokers/emqttd-windows7-v2.3.9.zip2、解压,设置环境变量:(D:\APP_TOOL\emqttd\bin)3、Windows安装IIS服务:(Internet Inf
原创
177阅读
0评论
0点赞
发布博客于 5 月前

Ubuntu16.04 Resoluition Addition And Setting

1. list current support all resoluition:krj-16-4@ubuntu:~$ xrandrScreen 0: minimum 1 x 1, current 1920 x 1080, maximum 8192 x 8192Virtual1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 800x600 60.00 + 60...
原创
121阅读
0评论
0点赞
发布博客于 8 月前

GIT基本操作记录(init、clone、add、rm、mv、commit、log、status、config、diff等命令基本使用)

#----------------------------------------------------------------------------------------------------------------------------------------------------# git简单介绍 【2020年6月8日23:12:12】#--------------------------------------------------------------------------.
原创
180阅读
0评论
0点赞
发布博客于 8 月前

Python语法学习测试记录(Python编程从入门到实践——Eric Matthes著)

注:2020-05-27日开始学习Python基础语法,期间参考《Python编程从入门到实践——Eric Matthes著》一书,对数组涉及的部分语法、python关键字、内置函数、库等进行试验,再次做一简单记录,在学习完成前,会进行实时更新。【1】2020-05-27:Hellow Python#print用于输出,python3.8中print为函数,需要带括号输出str = "-------------------------------------------"print(str)
原创
266阅读
0评论
0点赞
发布博客于 9 月前

关于arm-none-linux-gnueabi-4.4.3编译环境下,lib1funs.S编译报错的处理

原始报错信息:Krj@VM:~/soc_workspace/1stQuarter_BarBoard/15_NandFlash/NandFlash_codeTest$ make cleanDepend && makedelete all module files succeed!delete all depend files succeed!start.s compile...
原创
383阅读
0评论
0点赞
发布博客于 1 年前
Tlenet连接报错: Access Denied: Specified user is not a member of TelnetClients group. ......
发布Blink于 1 年前

Tlenet连接报错: Access Denied: Specified user is not a member of TelnetClients group. ......

详细报错:Access Denied: Specified user is not a member of TelnetClients group.Server administrator must add this user to the above group.Telnet Server has closed the connection访问拒绝:特定用户不是TelnetCl...
原创
378阅读
0评论
0点赞
发布博客于 1 年前

TFTP协议分析与实现

闲暇之余做一个模块化的TFTP DEMO程序,记录一下。1、TFTP协议与功能点介绍:TFTP采用UDP协议进行TFTP协议的文件传输,其默认的协议socket为:UDP + port 69;UDP不支持顺序传输,但是TFTP有ACK的回复,因此TFTP协议可以顺序传输,但是可能会发生重传过程中产生的已过时ACK/DATA传输到对端的等问题。TFTP适合在局域网传输文件大小不太大的文件,标...
原创
1021阅读
0评论
0点赞
发布博客于 2 年前

网络技术点资料汇总

本博客用来记录网络技术学习中,所搜集到的、用到的一些资料,避免二次耗时搜索与筛选,持续更新。1、Date:2019年7月23日21:59:36关于华为HedExit Lite阅读器(一款非常实用的资料文档搜索、下载、管理软件,由华为官方出品,解压后无需安装,直接可以运行,下载地址附后,默认浏览器为IE浏览器):HedExit Lite2、Date:2019年7月23日22:10:2...
原创
231阅读
2评论
1点赞
发布博客于 2 年前

电脑触摸板一碰就黑屏,再碰就亮,过一秒又灭,一闪一闪的;解决方案记录

型号:宏碁E5-572G方案:重启电脑,开机时进入BIOS(F2),不修改任何配置ESC直接退出,重启后就OK了;或许关闭触摸板、更新驱动、重新插拔触摸板硬件连接都能解决,但似乎还是这种方式更为便捷。也不知啥原理,个人猜测:可能是监测到有进过BIOS,相关硬件配置重新加载,之前有异常操作的均重新恢复默认,所以正常了。参考:https://zhidao.baidu.com/question/...
原创
2485阅读
0评论
1点赞
发布博客于 2 年前

驱动写久了脑子要生锈了!!!

今天没事儿干,写个小程序,却发现逻辑性思维越来越差,梳理加班时长的关系都无法快速梳理出来,结果最终还是磕磕绊绊,马马虎虎给搞完了,果然是驱动搞的时间长了,逻辑性思维下降,脑子生锈,一切基本全凭经验,痛苦~~~加班时长统计简单规则描述:①正常上班时间为:周一到周五8:30上班打卡,6:00下班打卡;②12:00-13:30为休息时间;③如果晚上加班,则18:45以后开始计算加班时长(...
原创
426阅读
0评论
1点赞
发布博客于 2 年前

IEEE 802.3-2015 LLDP和TLV文档翻译

79. IEEE 802.3组织特定链路层发现协议(LLDP),类型、长度和值(TLV)信息元素79.1概述IEEE Std 802.1AB-2009中规定的链路层发现协议(Link Layer Discovery Protocol,LLDP)是一种MAC客户端协议,允许连接到IEEE 802 LAN的站点(station)向连接到同一IEEE 802 LAN的所有其他站点进行通告:包括该...
翻译
1334阅读
0评论
0点赞
发布博客于 2 年前

IEEE802.3-2015 CL78 节能以太网(EEE)要点翻译

78.节能以太网(EEE)78.1概述可选的EEE功能将IEEE 802.3媒体访问控制(MAC)子层与一系列物理层相结合,定义为支持低功耗空闲(LPI)模式下的操作。启用LPI模式后,链路两侧的系统可以在链路利用率较低时节省电量。EEE还提供协议来协调与LPI模式之间的转换,并在不改变链路状态且不丢弃或损坏帧的情况下执行此操作。进入和退出LPI模式的过渡时间保持足够小,以便对上层协议...
翻译
1822阅读
0评论
1点赞
发布博客于 2 年前

我的第一个ARM汇编程序(霓虹灯~~~)

开始基于S3C2440学习ARM裸机,记录一下第一个ARM汇编程序(比起8086的指令,ARM的指令要难一些,当然ARM指令比起IA32也是稍有逊色,毕竟越是技术更新换代,所需功能越多,复杂度也就越大)@@ Time:2019年4月1日23:15:07 @ Author:Apollon_krj@ 所有的三个LED点灯(GPF4~GPF6):1为灭,0为亮@ 流水灯@ @ arm的函数...
原创
707阅读
0评论
0点赞
发布博客于 2 年前

主板供电异常,USB/网线插入/重启导致电脑大概率蓝屏

有一个USB2.0的接口,插了一个无线鼠标的USB公口,一段时间都没有问题,结果这两天在安装一个USB下载的驱动时,不能识别该USB,电脑显示如图所示【未知USB设备(设备描述符请求失败)】:网上搜了一大堆教程,搞了一天都没有搞定,可能现象一致,但是原因不一样(毕竟我这TMD在鼠标USB插入的时候,去插网线、重启都有大概率的蓝屏事件),蓝屏一般都是硬件故障,但是具体是什么硬件故障,当时不是...
原创
1543阅读
0评论
0点赞
发布博客于 2 年前

gzip、bzip2与tar打包工具使用记录

1、压缩概念:①有损压缩:会丢失部分数据,会丢失精度,但是不影响数据有效性与正常使用;一般用于压缩音视频、图像文件,如.map4、.mp3、.avi、.jpg等。②无所压缩:不会丢失数据任何bit,亦不影响数据的正常使用;用来压缩文本文件,当然也可以用来压缩音视频文件,如.tar.b22、.tar.ba2、.zip、.rar等。压缩的目的:减小网络传输时间和存储占用空间,从时间上(带宽...
原创
228阅读
0评论
0点赞
发布博客于 2 年前

Ubuntu16.04 修改用户名、主机名和密码记录

需求概述:由于在虚拟机中安装系统时,用户名和主机名太长,导致命令行中很长一段都是被shell提示符所占用,因此需要修改用户名和主机名(直接删除原用户然后新建用户不是目的,这样数据会丢,所有需要将原有配置中有关用户名、用户名所建组、主机名等全部更换)。1、修改用户名:①#切换root权限kangruojin@kangruojin:/home/kangruojin$sudo suroo...
原创
1870阅读
0评论
0点赞
发布博客于 2 年前

IEEE802.3-2015 Cl74 BASE-R PHY的前向纠错(FEC)子层 等部分相关点翻译

目录72. PMD子层和10GBase-KR型基带介质72.6.11 PMD LPI功能73.背板和铜缆组件的AN73.3功能规范73.5.2 DME页面编码73.7.5重新协商功能73.7.7下一页功能73.8管理寄存器要求74. BASE-R PHY的前向纠错(FEC)子层74.1概述74.4子层间接口74.4.1 10GBASE-R PHY的功...
翻译
1424阅读
0评论
0点赞
发布博客于 2 年前

Ubuntu16.04 下共享Windows目录,用虚拟机自带包安装VMwareTools失败解决办法

用VMWare workstation自带工具包“VMwareTools/”中的脚本:VMwareTools/vmware-tools-distrib/vmware-install.pl,安装VMwareTools失败,由于版本不匹配报错如下:make[1]: Entering directory '/usr/src/linux-headers-4.15.0-45-generic'Mak...
原创
970阅读
1评论
3点赞
发布博客于 2 年前

Ubuntu16.04 下安装telnet服务并用SecureCRT链接

1、安装inetd服务:sudo apt-get install openbsd-inetd2、安装telnetd服务:sudo apt-get install xinetd telnetd3、打开inetd.conf文件并在末尾加入一行配置:sudo vi /etc/inetd.conftelnet stream tcp nowait telnetd /usr/sbin/...
原创
385阅读
0评论
0点赞
发布博客于 2 年前

SFF-8436 QSFP + 4X 10 Gb / s可插拔收发器规范 Rev 4.9文档翻译

之前利用闲暇时间依次翻译了SFP MSA、SFF-8024、SFF-8472的相关文档,原由是在交换机端口开发中有参考到相关的信息,虽然用到的字段不多,但是本着学习的心态,对其内容作了大部分的翻译记录。而该三篇文档大部分只涉及了SFP/SFP+相关的技术,适用于10G以及以下速率的光模块收发机。对于10G以上(如40G、100G等)其并无法实现,因此今天对这几天翻译的SFF-8436 Rev4.9...
翻译
4072阅读
3评论
4点赞
发布博客于 2 年前

SFF-8472-Rev12.3 SFP+文档翻译

目录1、范围1.1、版权1.2、免责声明2、参考文献3、增强型数字诊断接口 - 简介4、内存组织4.1 、两线接口字段4.2、页4.3、 数据字段5、标识符与编码(地址A0H)5.1、物理设备标识符值[Byte0]5.2、物理设备扩展标识符值[Byte 1]5.3、连接器值[Byte 2]5.4、收发器合规代码[Byte 3-10、36...
翻译
4476阅读
0评论
12点赞
发布博客于 2 年前

SFP MSA文档翻译

Small Form-factor Pluggable (SFP) Transceiver MultiSource Agreement (MSA)小型可插拔(SFP)收发器多源协议(MSA)Cooperation Agreement for Small Form-Factor Pluggable TransceiversAgilent Technologies, Blaze Network ...
翻译
1931阅读
1评论
1点赞
发布博客于 2 年前

SFF-8024 Rev4.5文档翻译

【译注:本文按照SFF-8024R4.5.pdf原文进行翻译学习,英文文档可在下寻找。其中对其大部分内容进行了翻译,也省去一小部分无关紧要的章节或段落,本想连同摘要、前言和版权声明一并省去,仔细想想还是作罢了。此外,相关内容作以大致翻译个记录,不太能用到的(对嵌入式软件开发来说)或者参考文件名之类的都不作翻译,原文给出以防有失原本内容。】有关SFF规范,请访问 http://www.snia.o...
翻译
2078阅读
0评论
2点赞
发布博客于 2 年前

IEEE 802.3-2015 CL28电口自协商翻译与记录

简述: 自协商(Autoneg,AN)兼容10Base-T的NLP(平行检测)。并且向后兼容。在XMII、AUI上传递控制自协商的信息,在PMA层(介质接入适配层)和AUTONEG层间进行AN的信息交互,在MDI和链路上传递FLP信息等,各层各司其职(除了CL28的AN之外还有Cl73的AN,其与CL28大同小异)。28.2功能规范AN提供了控制单个MDI到单个PMA类型的连接的机制,其中可能...
翻译
1067阅读
0评论
2点赞
发布博客于 2 年前

在Linux(Redhat 6.4)上安装配置telnet服务,并使用SecureCRT连接

由于之前在电脑上安装了虚拟机,并在虚拟机中安装了Linux,但是由于没办法直接复制屏幕内容,有时候做记录显得有些不方便。因此今天在电脑上安装了一个SecureCRT,并在Linux上安装了telnet服务,用于连接虚拟机中的Linux,之后便可以更方便复制粘贴屏幕内容了。下面对步骤进行总结(之前以为直接yum install telnet-server -y之类的一条命令差不多就可以解决了,后来发...
原创
1350阅读
0评论
0点赞
发布博客于 3 年前

宏“##”之于驱动分发的应用

1、概述:在C语言中对于宏的使用,使得软件开发中代码可读性提高(或许有人认为宏的使用使得可读性变差了)的同时,性能和可维护性也随之提高了。**为什么说可读性提高了?**①宏定义使得常量的使用意义更为清晰;②宏函数封装减少重复代码块,实现复用。**为什么又说性能提高了?**①宏函数区别于普通函数的一点就在于宏函数做预处理替换,而普通函数调用需要额外的压栈出栈操作,频繁的压栈出栈操作自然会降低性能(...
原创
178阅读
0评论
0点赞
发布博客于 3 年前

C语言宏定义、宏函数、内置宏与常用宏

前言:在C语言中,变量类型、循环控制、基础语法等与其他高级语言基本无异;而C语言(C++)特有的两把双刃剑指针和宏定义/宏函数使得C语言在底层开发中披荆斩棘、无所不能。这两个概念涉及范围比较广,其分支点也比较多,可谓星罗棋布,但这每颗星都足以照亮C语言因其开发周期、可维护性、可移植性等问题而显的黯淡的天空,使得这门语言灵活多变、操作犀利,令人难以揣摩却也深深着迷。首先,C的第一把双刃剑:指针,...
原创
13376阅读
0评论
10点赞
发布博客于 3 年前

Linux C实现文件拷贝可变色进度条显示

printf的格式化输出中,可以设置前景色和背景色,因此进度条的颜色可以通过printf的格式化输出来实现;此外,进度条的实现主要依靠"\r"和"fflush(stdout)“来支持。”\r" 用来回到行首而不换行,fflush(stdout)是刷新屏幕输出缓冲区。只要根据进度,重新填写缓冲区内容,然后fflush()刷新缓冲区,重新在屏幕上打印缓冲区内容则可以动态实现进度
原创
783阅读
0评论
0点赞
发布博客于 3 年前

SecureCRT中,使用JS脚本快速创建VLAN

今天在配置一个蛇形VLAN时,通过SecureCRT连接到交换机(MyPower 3200)上,需要配置几十个VLAN,步骤比较繁琐,因此学习了SecureCRT下简单的JS脚本。以下图为例:进入enable模式后,加载执行该脚本,则会依次创建VLAN(减少手工配置的繁琐性、耗时性与易错性等问题,此外该JS脚本可根据需求作以调整,实现配置管理自动化运维):# $language = "JS...
原创
1339阅读
0评论
0点赞
发布博客于 3 年前

HiGig、HiGig+、HiGig2接口概述

原文地址:http://blog.chinaunix.net/uid-11140746-id-3712645.htmlHiGig(通常称为HiGigTM)是Broadcom公司的私有串行总线互联方案,于2001年推出,主要用于Broadcom公司StrataXGS系列芯片(如BCM5670/BCM5690等)之间的互联(也可以跟支持HiGig协议的NPU或ASIC连接),既可用于板内连接,也可...
转载
2240阅读
0评论
0点赞
发布博客于 3 年前

关于交换机端口的Trunk和Access模式的分析与验证

1、理论简析:以太网交换机的通信是基于端口的通信,其端口类型分为Trunk port(干道端口)、Access port(接入端口)、Hybird port(混合端口)三种。Access port一般用于交换机和用户PC主机相连,连接用户主机和交换机的链路称为接入链路(Access Link);而Trunk port一般用于连接交换机,通过Trunk port相连的链路称为干道链路。Hybir...
原创
13390阅读
5评论
10点赞
发布博客于 3 年前

交换机二三层转发原理简单总结

首先二层转发基于MAC地址转发,三层转发基于IP地址转发,但是不一意味着仅仅依靠IP地址就能转发,三层转发是建立在二层的基础上的,而仅仅依靠MAC地址是能够转发的。另外,由于二三层转发基于MAC地址、IP地址、FDB表(MAC地址学习、更新、老化、删除等)、ARP表、路由表、三层转发表、VLAN端口类型(Access、Trunk、Hybrid)、VLAN帧格式、ARP报文格式等需要对此有基本的熟知...
原创
20688阅读
7评论
32点赞
发布博客于 3 年前

计算机网关与默认路由、直连路由、路由汇聚、CIDR等总结

1、名词概念解释: ①静态路由(Static Routing):即由网络管理员/用户静态指定,不会随时间、流量、拓扑结构等因素变化而变化的路由路径。②动态路由(Dynamic Routing):由路由器自动学习,受时间、网络流量、拓扑结构等因素变化而变化的路由路径。③直连路由(Connected Route):因传输介质直连(直接连接)而产生的路由路径,直连不需要再设置路由,但设置也不会...
原创
4577阅读
0评论
4点赞
发布博客于 3 年前

VLAN层次与特点概念性总结

先解释两个词: 端口(port):在通信设备中,一般指二层口,该口用于隔绝广播域,基于MAC地址转发,但本身不能设置任何地址; 接口(interface):在通信设备中,用于区别二层的端口,指的是三层口,该口可以配置IP地址,基于IP路由转发。在传统的局域网中,几个至几十个交换机连接一个大的局域网,一个局域网中的主机台数可能达到上千台,那么由于交换机只能隔绝冲突域,一个端口是一个冲突域,而...
原创
1204阅读
0评论
1点赞
发布博客于 3 年前

GNS3和VMWARE搭建实验环境配置静态路由

基本实验条件: ①VMWare Workstation下VMnet1和VMnet8两个虚拟网段,分别为192.168.10.0/24和192.168.80.0/24网段; ②在物理机上分别创建两个虚拟网卡,连接到VMnet1和VMnet8上,VMnet1和VMnet8相当于两个交换机;然后分别将这两个虚拟网卡和C1_SW_VMNET1和C2_SW_VMNET8绑定,相当于在这两个交换机上连...
原创
2601阅读
0评论
0点赞
发布博客于 3 年前

Linux的标准的输入输出重定向

在Linux系统中,标准输入、标准输出、标准错误三个设备文件是比较常用的标准设备文件,其中0(STDIN)、1(STDOUT)、2(STDERR)分别是指向标准输入、标准输出、标准错误的三个文件缓存的句柄。通常STDIN即键盘输入缓冲区,STDOUT和STDERR的设备则通常为显示屏。由于特殊需要,可能有时候我们需要的输入文件或(和)输出文件并非是键盘或(和)屏幕,因此需要输入输出重定位,Linu...
原创
2124阅读
0评论
1点赞
发布博客于 3 年前

读取文件遇到0X1A意外终止的解决方法

在Windows的集成开发环境中(Qt、VC、VS中均存在该问题)编写有关文件读取的C/C++程序,出现读取到0X1A的时候意外终止的情况,经调试检查发现0X1A经过读取之后被处理成0XFF(即EOF(-1)),但是Linux中(Redhat6.4以及Ubuntu14.04中测试)不存在这种解析错误的问题。关于出现这种问题的原因可参考:https://blog.csdn.net/zhoubl668...
原创
2912阅读
1评论
4点赞
发布博客于 3 年前

ssh登录提示WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

局域网使用ssh登录目标主机出错,如下所示: Add correct host key in /root/.ssh/known_hosts to get rid of this message.//在/root/.ssh/known_hosts中添加正确的主机密钥以摆脱此消息解决方案: 执行ssh-keygen -R 192.168.8.50(从known_hosts 文件中删除所有...
原创
444阅读
0评论
0点赞
发布博客于 3 年前

Redhat6.4配置使用Centos的yum源实现telnet的安装

之前在Redhat6.4中配置了本地yum源(Redhat6.4配置使用本地yum源实现telnet的安装),从iso镜像中获取rpm包,安装一些软件/命令。但是有时候iso镜像中并不存在某些软件/命令,或者版本过低,需要安装更高的版本,就需要自行下载rpm包直接安装。但是下载rpm并自行安装比较麻烦,所以需要yum这种方便的安装方式。我们可以将redhat的yum源改为centos的yum源,具...
原创
915阅读
0评论
0点赞
发布博客于 3 年前

Redhat6.4配置使用本地yum源实现telnet的安装

目标:以/mnt/yumiso目录为本地yum源,并将系统镜像文件挂载到该目录下。1、创建并编辑yum.repo文件(vim /etc/yum.repos.d/yum.repo),编辑内容如下(baseurl设置为/mnt/yumiso):2、查看镜像挂载信息(df或mount均可查看),将镜像挂载到配置的yum源目录下(mount -o loop /dev/sr0 /mnt/yumi...
原创
490阅读
0评论
0点赞
发布博客于 3 年前

IA-32保护模式下的内存寻址方式(二):分页

有关IA-32分段可参考:IA-32保护模式下的内存寻址方式(一):分段1、分页、页、页框、缺页异常、页表的概念简述:MMU的分页单元(Paging unit)会把通过MMU分段单元(segmentation unit)计算得到的线性地址再次进行计算转化得到物理地址。分页单元除了进行地址计算,还有一个重要的任务就是要进行权限检查:将请求的访问类型(权限级别)和线性地址的访问权限(DPL...
原创
1039阅读
0评论
0点赞
发布博客于 3 年前

IA-32保护模式下的内存寻址方式(一):分段

1、简介:在基于Intel 80x86微处理器的平台上,内存寻址是内存管理最重要的一部分内容。而关于内存地址在实际的软件及硬件实现上,也出现了不同的表示方式:逻辑地址(logical address)、线性地址/虚拟地址(linear address/virtual address)以及物理地址(physical address)。其中: ①逻辑地址为“16位段地址:偏移地址”的表示方...
原创
1770阅读
0评论
1点赞
发布博客于 3 年前

win8.1删除桌面的IE图标

原文地址:https://jingyan.baidu.com/article/b7001fe170da990e7382dd73.html禁用IE浏览器以后,发现IE的图标依旧在桌面上。那么Win8.1桌面怎么删除IE图标,怎么让Win8.1桌面干干净净!不必着急,接着往下看!我想你一定知道除IE之外的图标如何去除,桌面空白处右击——个性化——更改桌面图标——桌面图标设置,可在桌面设置窗口中...
转载
1049阅读
0评论
0点赞
发布博客于 3 年前

可变参数列表实现机制与printf()函数源码分析

包含有可变参数列表的函数(printf函数族、scanf函数族等),可以说是我们编程中接触最多的。但是关于可变参数列表的实现机制,却鲜有初学者去了解,即使是使用C/C++好几年的人也不全都了解。在秋招时,被问到printf()可变参数列表的实现机制,虽然之前有听说过有关va_list,但是没有做深入的了解,因此第一道题就被问死了。今天查找有关源码和相关资料,将该知识点进行整理,也算是亡羊补牢为时未...
原创
465阅读
0评论
0点赞
发布博客于 3 年前

VC6.0SRC 与 glibc-2.21

VC6.0C函数库源码与glibc-2.21源码。VC6.0源码放在这里是因为VC6.0是比较经典的版本。将VC6.0的SRC和glibc放在一起,便于比较不同系统标准对于C库实现的异同。
zip
发布资源于 3 年前

二叉树的层次遍历及其变型

一、二叉树的层次遍历题目分析:题目简述: 给定一棵二叉树的根节点root,请编写函数方法,实现二叉树的层次遍历。如,有一棵二叉树如下: 其不同的遍历方式的遍历结果分别为: 先序遍历:A、B、D、E、C、F、G 中序遍历:D、B、E、A、F、C、G 后序遍历:D、E、B、F、G、C、A 层次遍历:A、B、C、D、E、F、G那么所谓层次遍历,顾名思义就是遵循...
原创
364阅读
0评论
0点赞
发布博客于 3 年前

base64编解码原理与C代码实现

1、base64编码原理分析:(1)、背景与应用: 可参考博客:Base64编码原理与应用 所谓base64就是基于ASCII码的64个可见字符子集的一种编码方式。(2)、编码原理与核心分析: 上面提到的子集如下所示: A~Z、a~z、0~9、+、/共64个字符。base64编码方式要点: ①分组:对需要编码的数据流(字节流)进行分组,三个字节为一组,若是最后一组不足3个字节,则对该分组
原创
8748阅读
0评论
1点赞
发布博客于 4 年前

随机数生成器与线性同余法产生随机数

1、随机数生成器与/dev/random:随机数生成器,顾名思义就是能随机产生数字,不能根据已经产生的数预测下次所产生的数的“器”(器存在软件与硬件之分),真正的随机数生成器其产生的随机数具有随机性、不可预测性、不可重现性。什么是真正的随机数生成器?指的是由传感器采集设备外部温度、噪声等不可预测的自然量产生的随机数。比如Linux的/dev/random设备文件其根据设备中断(键盘中断、鼠标中断等)
原创
3008阅读
0评论
2点赞
发布博客于 4 年前

计算机开机BIOS初始化与MBR操作系统引导详解

1、BIOS的工作:我们的计算机在开机之前,它是一个纯硬件的机器,但是从按下开机按钮的那一刻起,ROM上的固化程序就开始为操作系统这个重要的软件进行初始化工作,初始化工作完成以后,将操作系统内核加载到内存中,操作系统就会帮助我们管理各种硬件资源,带给了用户良好的体验。我们普通用户通常都不关心,在电脑启动时具体都做了什么,但是作为一个IT行业的从业人员或者即将作为一名IT行业的从业人员,尤其是作为一个
原创
7857阅读
5评论
8点赞
发布博客于 4 年前

磁盘管理(一):磁盘结构、命名与分区

1、磁盘的物理结构:一块磁盘(机械硬盘)由多片盘片、一个机械手臂、多个磁头和一个主轴马达组成的。有N个盘片的磁盘则存在2*N个盘面(因为一个盘片正反两面均写有数据),而一个盘面分为可以分为M个磁道,磁道与磁道之间存在间隙,一个磁道分为L个扇区(Sector),一个扇区大小为512Byte。过所有盘面的同一磁道编号的截面称为柱面(通俗的解释)。盘面和磁道都是以0开始编号的,而扇区是以1开始编号的。磁道
原创
1665阅读
0评论
0点赞
发布博客于 4 年前

专题:VMware Workstation网络配置与应用

一、局域网通信:1、两台虚拟机之间通信:两台处于物理机之上的虚拟机要进行通信,则只需要将两台虚拟机放在同一VMnet下,且设置其IP地址在同一网段下即可(不需要设置VMnet网关,也不需要连接虚拟网卡,也就是说即使VMnet的网段和两台虚拟机的网段不同也无妨,因为我们只是要这两台虚拟机进行通信,不需要和VMnet下的其它虚拟机通信,也不需要访问外网),图解如下:假设我们选择的是VMnet1,其所在网
原创
1379阅读
0评论
0点赞
发布博客于 4 年前

Intel硬编码(二):不定长指令、ModR/M与SIB详解(基于P6微架构)

Intel硬编码(一):Opcode Map、定长指令与指令前缀 我们在Opcode Map中提到定长指令的索引方式,也分析了比较常见的一些定长指令,接着我们就要进行不定长指令的分析了。所谓不定长指得是SIB部分、Displcement、Immediate三部分存在与否以及各自长短,在Opcode与ModR/M确定之前都是不确定的。而ModR/M存在与否也是根据Opcode来确定的,一旦Opco
原创
5498阅读
4评论
6点赞
发布博客于 4 年前

Intel硬编码(一):Opcode Map、定长指令与指令前缀

IntelCPU的机器指令(硬编码)格式如下图所示: 一个指令由:指令前缀(Instruction Prefixes) + 操作码(Opcode) + ModR/M + SIB + 偏移(displacement) + 立即数(Immediate data)几部分组成,一条指令至少需要有Opcode,其它几部分,在不同指令中可能存在可能不存在。今天我们主要来看Opcode、Instruction
原创
3820阅读
0评论
8点赞
发布博客于 4 年前

PE文件学习笔记(六):总结与PE解析器(PETool)实现

1、PE文件各部分结构解析:1、PE文件学习笔记(一):DOS头与PE头解析 2、PE文件学习笔记(二):Section Table解析 3、 PE文件学习笔记(三):导出表(Export Table)解析 4、PE文件学习笔记(四):重定位表(Relocation Table)解析 5、PE文件学习笔记(五):导入表、IAT、绑定导入表解析 2、PETool简易实现(32位,非GU
原创
1563阅读
0评论
0点赞
发布博客于 4 年前

PE文件解析器

简易的基于文件操作的PE文件解析器源码
zip
发布资源于 4 年前

PE文件学习笔记(五):导入表、IAT、绑定导入表解析

1、导入表(Import Descriptor)结构解析:导入表是记录PE文件中用到的动态连接库的集合,一个dll库在导入表中占用一个元素信息的位置,这个元素描述了该导入dll的具体信息。如dll的最新修改时间、dll中函数的名字/序号、dll加载后的函数地址等。而一个元素即一个结构体,一个导入表即该结构体的数组,其结构体如下所示:typedef struct _IMAGE_IMPORT_DESCR
原创
8107阅读
2评论
9点赞
发布博客于 4 年前

一个%0nX格式化输出引发的“血案”

今天在写一个PE文件解析器的时候,大致写了这样一段代码: 本以为0X88没有超出%02X的格式限制。输出应该是88,殊不知输出的结果是FFFFFF88。正当我百思不得其解时,我修改了一下宏定义那句:#define BYTE unsigned char结果发现输出按照88正常输出。经过查找资料和反汇编分析,我得到了正确的结论,分析如下:①%X默认的输出宽度为整型的宽度,在32位...
原创
452阅读
0评论
0点赞
发布博客于 4 年前

PE文件学习笔记(四):重定位表(Relocation Table)解析

1、重定位表的作用重定位表(Relocation Table)用于在程序加载到内存中时,进行内存地址的修正。为什么要进行内存地址的修正?我们举个例子来说:test.exe可执行程序需要三个动态链接库dll(a.dll,b.dll,c.dll),假设test.exe的ImageBase为400000H,而a.dll、b.dll、c.dll的基址ImageBase均为1000000H。 那么操作系统的
原创
10806阅读
1评论
10点赞
发布博客于 4 年前

PE文件学习笔记(三):导出表(Export Table)解析

数据目录表(Data Directory):16个_IMAGE_DATA_DIRECTORY结构体元素,该结构体数组时可选PE头中最后一个成员。这十六个元素分别存储了不同信息,分别是:导入表、导出表、资源、异常信息、安全证书、重定位表、调试信息、版权所有、全局指针、TLS、加载配置、绑定导入、IAT、延迟导入、COM信息、最后一个保留未使用。和程序运行时息息相关的表有:导出表、导入表、重定位表、IA
原创
4130阅读
0评论
5点赞
发布博客于 4 年前

GB2312编码规则与代码实现

GB2312编码范围:A1A1-FEFE,其中汉字编码范围:B0A1-F7FE, 汉字编码: 第一字节0xB0-0xF7(对应区号:16-87),第二个字节0xA1-0xFE(对应位号:01-94)。GB2312编码是第一个汉字编码国家标准,是由中国国家标准总局1980年发布,1981年5月1日开始实施的一套国家标准,标准号是GB2312—1980。GB2312编码适用于汉字处理、汉字通信等系统之间
原创
11052阅读
0评论
3点赞
发布博客于 4 年前

PE文件学习笔记(二):Section Table解析

Section Table(节表)是记录PE文件中各个节的详细信息的集合,其每个成员是struct _IMAGE_SECTION_HEADER结构体,即节表是一个结构体数组来维护,属于线性结构。而节表的相对起始位置为:紧接着可选PE表。即:DOS头 + 中间空闲及垃圾数据 + NT头(三部分:4字节签名+标准PE头20字节+可选PE头)。 #define IMAGE_SIZEOF_SIGNAT
原创
2491阅读
2评论
2点赞
发布博客于 4 年前

PETool v1.0.0.5带界面软件

PETool v1.0.0.5带界面软件,可以解析PE文件,并且功能比较完整。在CSDN找了很多,下载下来的都没有界面不是想找的,就在网上找了好久,各种以假乱真,但最终还是被我找到了。
exe
发布资源于 4 年前

PE文件学习笔记(一):DOS头与PE头解析

在Windows下所谓PE文件即Portable Executable,意为可移植的可执行的文件。常见的.EXE、.DLL、.OCX、.SYS、.COM都是PE文件。PE文件有一个共同特点:前两个字节为4D 5A(MZ)。如果一个文件前两个字节不是4D 5A则其肯定不是可执行文件。比如用16进制文本编辑器打开一个“.xls”文件其前两个字节为:0XD0 0XCF;打开一个“.pdf”其前两个字节为
原创
9632阅读
5评论
9点赞
发布博客于 4 年前

PE结结构图

描述PE文件结构的各个结构体的思维导图
pdf
发布资源于 4 年前

代码隐藏到数据之中的“骚”操作

函数指针,可以为一个函数重命名,代替其进行函数调用,而我们也用函数指针做过简单的C语言面向对象编程:函数指针与C的面向对象 。书上说(很多人这样说):函数指针是为了便于分层设计、利于系统抽象、降低耦合度以及使接口与实现分开。这从正向的角度来说依旧是总结性的,而不是本质性的,函数指针并非是针对于面向对象的,从本质来说它更是用来做数据与代码转换的,怎么说? 如果我们设计了个功能函数比较重要,也不想其他
原创
1177阅读
1评论
0点赞
发布博客于 4 年前

switch语句的几种反汇编结构及效率分析

我们或许知道if…else if…与switch的功能基本相似,而switch也完全可以转换成if…else if…的结构,并且switch总体来说效率要高于if…else if…。但是很少有人知道总体来说if…else if….的效率为什么低于switch,以及为什么说总体来说**switch效率高,而不是一定高,以及什么时候效率一定比**if…else if…。今天我们就从反汇编的层面来看看sw
原创
2065阅读
3评论
7点赞
发布博客于 4 年前

两道“诡异”的数组越界问题的分析

1、数组越界引起的死循环问题:#include "stdafx.h"int main(int argc, char* argv[]){ int i = 0; int arr[3] = {0}; for(i = 0; i<=3; i++){ arr[i] = 0; printf("hello world
"); } return
原创
1677阅读
0评论
0点赞
发布博客于 4 年前

密码算法专题汇总

1、 Feistel网络结构与DES加密算法的框架简单分析 2、TEA加密算法与分组密码的ECB、CBC模式选定 3、双钥密钥密码算法RSA解析与短密钥实现 4、单向散列函数SHA-1算法分析与实现 5、Alleged RC4密码算法分析与实现 6、MD5密码算法分析与实现 7、DES算法流程分析与实现 附:测试代码GitHub传送门
原创
409阅读
0评论
0点赞
发布博客于 4 年前

一个枚举算法题目引发的Qt小游戏

前几天在做一道枚举算法的题目,由于其题目的特殊性导致做到最后,竟然演变成一个Qt小游戏的编程。首先来描述一下题目:有一个由按钮组成的矩阵,其中每行有6个按钮,共5行。每个按钮的位置上有一盏灯。当按下一个按钮后,该按钮以及周围位置(上边、下边、左边、右边)的灯都会改变原有状态。即,如果灯原来是点亮的,就会被熄灭;如果灯原来是熄灭的,则会被点亮。如果某一按钮周围不存在上/下/左/右,则只改变存在的位置。
原创
738阅读
0评论
0点赞
发布博客于 4 年前

空函数、裸函数与函数传参和堆栈平衡

今天我们来看看在VC++6.0继承环境中,C语言的空函数在反汇编中是怎样的结构,然后来学习C和汇编的混合编程中裸函数与使用、学习函数传参与传参的三个调用约定以及不同约定在于堆栈平衡中的处理方式。这些不仅是汇编的学习的进一步深入,逆向的基础,对于正向来说了解汇编层的原理也是至关重要的。1、C空函数的反汇编结构分析:以下面的代码为例,进行反汇编:#include "stdafx.h"//C空函数vo
原创
1381阅读
0评论
1点赞
发布博客于 4 年前

DES算法流程分析与实现

DES(Data Encryption Standard,数据加密标准)作为一种基本结构为Feistel结构的加密算法,其加密核心在于F函数。而Feistel结构决定了其加密解密流程是相同的,无论是硬件实现还是软件实现都只需要一种结构,不需要分别实现。关于Feistel和DES在Feistel结构中的设计可以参考: Feistel网络结构与DES加密算法的框架简单分析 。今天我们重点来分析关于加密流
原创
14708阅读
2评论
6点赞
发布博客于 4 年前

DES文件加密解密算法实现

DES对于文件的加密解密,采用CBC-DES模式编写。可联系maibox_krj@163.com获取。
zip
发布资源于 4 年前

MD5密码算法分析与实现

MD5(Message Digest Algorithm 5,信息摘要算法5),由Ron Rivest设计,该密码算法对输入的信息以512bit进行分组(以及初始化的4个32bit分组),每个分组又分为16个32bit的子分组。该16个子分组进行4轮循环处理后(与SHA相似),生成4个32bit的散列值即级联后为128位的散列值。一、算法分析:1、分组与填充: 首先填充与分组,消息的后面一个bit
原创
887阅读
0评论
0点赞
发布博客于 4 年前

MD5密码算法

MD5密码算法的C代码实现(也可以认为是md5sum命令的简单功能实现)
zip
发布资源于 4 年前

RC4密码算法测试代码

RC4密码算法测试代码
zip
发布资源于 4 年前

Alleged RC4密码算法分析与实现

Alleged RC4密码算法即所谓RC4密码算法,由RSA算法(Ronald Rivest,Adi Shamir,Leonard Adleman)发明者之一的Ronald Rivest设计。RC4之所以加上Alleged是起初在RSADSI(RSA数据安全有限公司),该算法是被保密的,想要了解该算法的细节需要与其签署保密协议后才能得到。但是后来,该算法被匿名公开,并迅速传遍全世界的FTP网点,最后
原创
744阅读
0评论
0点赞
发布博客于 4 年前

安全散列算法SHA

包含两种代码风格,一种是多宏函数操作(来自于老师);另一种多非宏函数函数操作(来自于我自己)。免费获取可联系:mailbox_krj@163.com
zip
发布资源于 4 年前

单向散列函数SHA-1算法分析与实现

1、简介:SHA,全程安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard,DSS)里面定义的数字签名算法(Digital Signature Algorithm,DSA)。也就是说通常是用来对于信息的完整性进行验证的。而由于SHA的不可逆性,或者说是SHA中函数的不可逆性,该算法只能用于加密,不能用于解密。而加密的过
原创
2701阅读
0评论
2点赞
发布博客于 4 年前

TEA加密算法

TEA加密算法的加强版XTEA的实现,包含EBC-TEA和CBC-TEA两个模式的不同加密方式。可用于测试分组加密的ECB和CBC的优劣性。
zip
发布资源于 4 年前

双钥密钥密码算法RSA解析与短密钥实现

单钥密钥算法,由于其加密的速度相对来说比较快,所以常用来对文本文件加密(如TEA、DES等),而双钥密钥算法(如RSA)由于其加密解密的密钥不同并且采用暴力破解的方式也比较低效(基本不可能被破解),低效的原因通常不是符合加解密的密钥对的空间有多大,而是正确的一对密钥其密钥空间难以确定。但是其加密速度也比较低,所以常用来加密单钥密钥算法的加密秘钥,这样即所谓混合加密。混合密码系统的基本结构如下图所述(
原创
4811阅读
0评论
1点赞
发布博客于 4 年前

RSA密码基于C的code实现

包含三个文件夹,①ProducePerim是素数的产生实现,为大素数p、q提供来源②ProduceKey是RSA秘钥的产生过程实现③EnDeCryption为加密解密过程(以文件加密为例,虽然文件加密不是RSA的主要用途)
zip
发布资源于 4 年前

TEA加密算法与分组密码的ECB、CBC模式选定

TEA算法(Tiny Encryption Algorithm,小型加密算法)由剑桥大学计算机实验室的David Wheeler和Roger Needham于1994年发明。它是一种分组密码算法,其明文密文块为64比特,密钥长度为128比特。TEA算法利用不断增加的Delta(黄金分割率)值作为变化,使得每轮的加密是不同,该加密算法的迭代次数可以改变,建议的迭代次数为32轮。 TEA的结构类似于F
原创
4712阅读
2评论
2点赞
发布博客于 4 年前

病毒、木马、蠕虫与恶意代码关键点

病毒:寄生存在,所谓寄生,就是病毒的指令存在于其它可执行程序的空指令部分。如下图为一个标准的计寄生形式的病毒: 运行可执行程序,一个jmp指令会导致程序跳转到病毒所在指令处开始执行,执行完毕之后跳转回正常代码区开始执行可执行程序。木马:独立存在,一般具有潜伏期(一般是.exe、.com、.pif、.scr等为后缀的文件) 蠕虫:强制传染性,常利用主机的漏洞在网络中传播。如下为一个蠕虫的基本结
原创
5346阅读
4评论
8点赞
发布博客于 4 年前

Feistel网络结构与DES加密算法的框架简单分析

通常我们耳熟能详的几种加密算法: 对称密钥/私钥密钥:DES、RC6、AES(Rijndael) 非对称秘钥/公钥密钥:RSA 单向散列函数:MD5、SHA对于对称密钥与非对称秘钥加密算法来说,其区别在于加密密钥与解密秘钥。若加密秘钥与解密秘钥相同或可互相推导/推算则为对称密钥(单钥密钥或私钥密钥),大多数对称密码算法的加密密钥与解密密钥相同;不同且不可互相推导,则为非对称秘钥(双钥密钥或公钥
原创
9374阅读
3评论
8点赞
发布博客于 4 年前

黑白棋算法简单实现与基于Qt的GUI编程的综合应用

一、序言:最近学习了Qt的界面编程,包括了QObject、QWidget、QIODevice、QMessageBox、QTcpSockt、QTcpServer、QFile、QFileInfo、QDataStream、QTextStream、QBuff、QPixmap、QImage、QBitmap、QPicture、QTimer定时器…等基本类的使用;基本事件的处理与过滤的学习、信号与槽的学习、QCr
原创
3374阅读
1评论
2点赞
发布博客于 4 年前

GifCam.zip

可用于高帧数的gif图像录制
zip
发布资源于 4 年前

CoolEdit Pro V2.1中文(汉化)破解版

一款时分强大且易于上手的音频处理软件,包含破解步骤与汉化包。可以进行音频格式转换、音频裁剪等基本操作(毕竟我只用过这些)。
zip
发布资源于 4 年前

黑白棋游戏

基于Qt5.5.1的GUI小项目:黑白棋游戏(主要实现了吃子的算法逻辑以及简单的机器下子的算法逻辑)
zip
发布资源于 4 年前

《编程珠玑》-- 开篇:BitMap算法用于磁盘文件排序的原理与实现

一、问题提出与描述:我们经常会遇到一类问题,这类问题是:有一个大的文件,该文件中存有大量的未经排序的数字,给定限制大小的内存,设计算法实现对该文件中的所有数字的排序,并将排序结果放到新文件中(经常会以时间日期等命名)。比如:有一个文件,该文件中有0~4294967295区间内的2147483648个数字,并且是乱序的,给定内存为1GB,对该文件中的数字进行排序。一般情况下,这类问题有个特点,就是给定
原创
1428阅读
3评论
0点赞
发布博客于 4 年前

QTCpSocket文件传输

UDP由于不用建立连接,所以常用于聊天程序(点对点、群聊天等);而TCP由于其建立连接,具有可靠性强、能够保证不丢包,所以经常用于大文件的传输。但是由于TCP粘包,所以在使用TCP进行文件传输时,需要进行粘包问题的考虑。关于TCP/UDP用于聊天程序的应用可以参考:QTcpServer、QTcpSocket、QUdpSocket在聊天程序上的应用 。QTcpSocket、QTcpServer、QFi
原创
7460阅读
5评论
4点赞
发布博客于 4 年前

QTcpServer、QTcpSocket、QUdpSocket在聊天程序上的应用

一、TCP/UDP通信编程在Qt中的实现方法:与Linux的TCP/UDP通信接口(Socket套接字)类似,只不过是对Linux的接口进行了一部分合并与包装,其具体图解分析如下: 1、详解Qt TCP通信(QTcpSocket、QTcpServer): 针对上图进行一些简单的分析: QTcpServer用来创建服务器对象,服务器对象创建以后,调用成员函数listen()进行连接监听,其中li
原创
9447阅读
6评论
7点赞
发布博客于 4 年前

光学设计CAD:基于ZEMAX的望远物镜优化设计

一、实验目的和要求1、实验目的: 通过设计实验,加深对已学几何光学、像差理论及光学设计基本知识、一般手段的理解,并能初步运用;学会使用ZEMAX软件对开普勒望远镜物镜进行优化设计。 2、实验要求: (1)、具备独立查阅光学设计理论和像差分析的相关文献和资料; (2)、能提出并较好地的实施方案;具有收集、加工各种信息及获得新知识的能力。 (3)、具备独立设计优化望远物镜组,能用ZEMAX软件
原创
10865阅读
0评论
4点赞
发布博客于 4 年前

Qt事件与常用事件处理、过滤

在Qt中我们可以应用信号与槽对一些鼠标点击的操作进行处理,如: QPushbutton::clicked QPushbutton::realsead QPushbutton::pressed 而信号与槽的处理属于事件的一种,产生一个信号可以认为是一个信号事件,而槽函数就是对于该信号事件进行处理的回调函数。由于信号与槽属于事件,也就是说信号很强大,但是事件更强大。那么我们就有必要好好总结一下...
原创
4941阅读
2评论
5点赞
发布博客于 4 年前

王爽《汇编语言》课程设计二续(包含软盘操作)

之前完成了课程设计的第一部分(CMOS的读取与修改等):王爽《汇编语言》课程设计二(只包含CMOS RAM操作不包含软盘操作) 但是由于没有软盘做不了第二部分(脱离操作系统引导程序),今天我们完善一下,将第二部分补上去,首先得解决软盘的问题:关于VMWare虚拟机中软盘问题1、题目描述与分析:开机后,CPU自动进入到FFFF:0单元处执行,此处有一条跳转指令。CPU执行该指令以后,转去BIOS中
原创
2173阅读
0评论
4点赞
发布博客于 4 年前

在VMware Workstation中创建一个虚拟软盘,并在Windows XP上使用

软盘这种如今已没有人再使用的存储介质,想要找到也时相当不容易了。但是很多时候我们做实验需要使用(最近在做王爽老师的《汇编语言》课设二时就用到了),虚拟机是一个越用越强大的东西,今天我们就说说如何在虚拟机上创建并使用软盘(虚拟软盘)。1、创建软盘: 首先我们在虚拟机的XP上可以看到一个软盘驱动A:,但是由于没有软盘,软驱也发挥不了作用,如下: 那么我们就需要创建一个虚拟的软盘(就像创建一个虚拟
原创
6878阅读
2评论
7点赞
发布博客于 4 年前

王爽《汇编语言》课程设计二(只包含CMOS RAM操作不包含软盘操作)

遇到的瓶颈问题:如何能做到随时获取键盘中断,而不是一直等着按F1或ESC键。(int 16H的0号功能与1号功能的配合): 我们知道BIOS键盘缓冲区 15字节数据,高8位保存扫描码,低8位保存ASCII码。缓冲区为一个环形队列。int 16例程的0号功能可以从键盘缓冲区中阻塞式读取数据,获取到的数据会存放到AX中,高八位存放扫描码,低八位存放对应的ASCII码。 int 9H则可以用来向缓冲区
原创
1079阅读
0评论
3点赞
发布博客于 4 年前

8086汇编学习之标志位寄存器的应用

标志位寄存器其作用就是以其不同的标志位来支持更高级的指令,使得程序员的操作更为方便。关于标志位寄存器的知识点:区分CF标志位(进位标志)与OF标志位(溢出标志) 1、adc与sbb指令:CF标志位用在加减法的进位与结尾操作上: adc指令(add carry):带进位加法 adc ax,bx ==> (ax)=(ax)+(bx)+CF eg:1E F000 1000H + 20 1000 1E
原创
1683阅读
0评论
1点赞
发布博客于 4 年前

标志位寄存器与CF、OF标志位的区分

8086CPU的flag寄存器(16位)各标志位如下(这是32位EFLAG的低十六位图,但是32位与16位是一样的,只不过32位多了16位且高16位没有使用到): 标志位寄存器中保存的是当前指令运算的信息状态,比如进位信息保存在CF标志位(注意:是运算结果的标志,比如add、sub、mul、div、and、or等,而mov、push等不会改变标志位)。 其中CF为进位标志(Carry Fla
原创
26880阅读
6评论
31点赞
发布博客于 4 年前

80X25彩色字符模式显示缓冲区与使用

一、实验基本原理:(资料来源:王爽老师《汇编语言》第九章:转移指令的原理实验九)二、实验:在屏幕中间分别显示黑底绿字、绿底红字、白底蓝字的字符串“weclcome to masm!” 代码如下:;Author:Kangruojin;Time:2017年5月1日23:39:12;Mail:mailbox_krj@163.com;Version:V1.1;主要知识点:;高位字节:BL(闪烁)、
原创
1499阅读
0评论
0点赞
发布博客于 4 年前