汇编基础教程(2)汇编指令

汇编指令 1    汇编指令不区分大小写 2    在进行数据传送或者运算时,要注意指令的两个操作对象的位数应当是一致的 3    类型 3.1  基础运算指令 mov指令的几种形式:      mov 寄存器,数据      mov 寄存器,寄存器      mov 寄存器,内存单元      mov 内存单元,寄存器            ...
分类: 其他 发布时间: 10-07 23:53 阅读次数: 0

汇编基础教程(4)段

段 1    将一段内存定义为一个段,用一个段地址指示段,用偏移地址访问段内的单元 2    种类 2.1  代码段 定义    对于8086PC机,在编程时,可以根据需要,将一组内存单元定义为一个段。    可以将长度为 N( N≤64KB )的一组代码,存在一组地址连续、起始地址为 16的倍数的内存单元中,这段内存是用来存放代码的,从而定义了一个代码段。    ...
分类: 其他 发布时间: 10-07 23:53 阅读次数: 0

汇编基础教程(5)程序编写

程序 1     源程序 1.1  构成 寄存器与段的关联假设    assume:含义为“假设”。    它假设某一段寄存器和程序中的某一个用 segment … ends 定义的段相关联。    通过assume说明这种关联,在需要的情况下 ,编译程序可以将段寄存器和某一个具体的段相联系。 标号    一个标号指代了一个地址。    codesg:放在segment的前面,...
分类: 其他 发布时间: 10-07 23:53 阅读次数: 0

汇编语言实现功能(1)用循环累加实现乘法

问题1:编程计算2的2次方,结果存在ax中 分析:用2+2实现 assume cs:code code segment mov ax,2 add ax,ax ;实现程序的返回 mov ax,4c00h int 21h code ends end 问题2:编程实现2的12次方 分析:用loop实现 assume cs:code code segment ...
分类: 其他 发布时间: 10-07 23:52 阅读次数: 0

汇编语言实现功能(2)数据复制的实现

问题1:将内存ffff:0~ffff:b单元中的数据复制到0:200~0:20b单元中 分析 1、0:200~0:20b单元如何表示 0020:0~0020:b可以等同于以上单元,而且单元的偏移地址是从0开始,和需要复制的单元相同 2、单元中的数据能直接进行复制转移吗 不可以,需要用寄存器进行中转 assume cs:code code segment ;做法一 ;----------...
分类: 其他 发布时间: 10-07 23:52 阅读次数: 0

汇编语言实现功能(3)大小写的转换

问题1:将data段中的第一个字符串转换成大写,第二个字符串转换成小写 分析: 如何转换成大小写 如果利用ASCII码进行转换的话,需要判断该字符是大写还是小写,汇编语言实现太过困难,可以对字符串的二进制进行分析。 在ASCII码中,大写字母的第五位为0,小写字母的第五位为1,可以对位取反进行大小写转换 assume cs:code,ds:data data segment db 'B...
分类: 其他 发布时间: 10-07 23:52 阅读次数: 0

汇编语言实现功能(4)显示功能

问题1:在屏幕中间分别显示绿底,绿底红色,白底蓝色的字符串“Welcome to masm!” 分析: 1 如何确定字符要显示的位置 在80*25的彩色字符模式显示缓冲区在内存地址的B8000H~BFFFFH共32KB的空间中 在该模式下,显示器可以显示25行,80列 所以在一行中就有80个字符,共占据160个字节,每个字符低位字节存储字符的ASCII码,高位字节存储字符的颜色属性 偏...
分类: 其他 发布时间: 10-07 23:52 阅读次数: 0

c实现功能(1)冒泡排序

#include <stdio.h> int main() { int array[10] = { 0,5,3,2,4,1,6,9,8,7 }; for (int i = 0; i < 10; i++) { for (int j = 0; j < 10 - 1 - i; j++) //减1是为了防止数组越界 { if (array[j] &gt...
分类: 其他 发布时间: 10-07 23:51 阅读次数: 0

c实现功能(2)汉字逆置

#include <stdio.h> int main() { char str[10] = "你好啊"; //获得数组的长度 int len = 0; while (str[len++]); len--; //由于汉字是两个字节,所以要分开进行置换 int min = 0; int max = len - 1; while (min < max) { ...
分类: 其他 发布时间: 10-07 23:51 阅读次数: 0

c实现功能(3)去掉字符串左右的空格

#include <stdio.h> int main() { //去掉右边的字符串空格 char str[100] = "hello world "; int len = 0; while (str[len++]); len--; //printf("%d\n", len); for (int i = len - 1; i >= 0;...
分类: 其他 发布时间: 10-07 23:51 阅读次数: 0

c实现功能(4)产生随机数

#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { time_t tm = time(NULL);//利用时间作为种子 srand(tm);//要使rand函数得到的每次结果不同,就需要srand中的种子不同 for (int i = 0; i < 10...
分类: 其他 发布时间: 10-07 23:51 阅读次数: 0

c实现功能(5)字符串和数字之间的转换

#include <stdio.h> int main() { //实现字符串转换成数字 char str[10] = "123"; //求取字符串的长度 int len = 0; while (str[len++]); len--; //设置和 int value = 0; for (int i = 0; i < len; i++) { //...
分类: 其他 发布时间: 10-07 23:50 阅读次数: 0

C实现功能(6)递归实现整数转换成二进制

#include <stdio.h> void binary(int num); int main() { //实现十进制转换成二进制 int num = 10; binary(num); return 0; } void binary(int num) { int i = num % 2; if (num > 0) { binary(num / 2); ...
分类: 其他 发布时间: 10-07 23:50 阅读次数: 0

c实现功能(7)写入和读取文本文件

#include <stdio.h> #include <string.h> int main() { //向一个文件中写入内容 char s[1024] = {0}; //打开一个文件 FILE *p = fopen("D:\\test\\a.txt","w"); //将信息写入到文件中 while(1){ ...
分类: 其他 发布时间: 10-07 23:50 阅读次数: 0

c实现功能(8)简单实现文本的加密

#include <stdio.h> #include <string.h> //实现对文件的加密函数 void encode(char *s){ while (*s) { (*s)++; s++; } } //实现对文件内容的解密 void decode(char *s){ while (*s) { ...
分类: 其他 发布时间: 10-07 23:50 阅读次数: 0

c实现功能(9)对文本的内容进行排序

#include <stdio.h> #include <string.h> #include <stdlib.h> void swap(int *p1, int *p2){ int temp = *p1; *p1 = *p2; *p2 = temp; } //实现对数组内容的排序 void sort(int *p, int len...
分类: 其他 发布时间: 10-07 23:49 阅读次数: 0

c实现功能(10)对文本内容进行计算

#include <stdio.h> #include <string.h> #include <stdlib.h> //实现对文本内容的计算 //首先实现对文本中每一行内容的计算 int calcString(char *s){ char num1[100] = {0}; int oper = 0; char num2[100] =...
分类: 其他 发布时间: 10-07 23:49 阅读次数: 0

c实现功能(11)对二进制文件的读写

#include <stdio.h> #include <string.h> int main(){ //实现对二进制文件的读取 //打开文件 FILE *p = fopen("D:\\test\\a.wmv", "rb"); FILE *p1 = fopen("D:\\test\\b.wmv", "wb"); //设置字符缓冲
分类: 其他 发布时间: 10-07 23:49 阅读次数: 0

c实现功能(12)利用stat函数对大文件进行拷贝

#include <stdio.h> #include <stdlib.h> #include <sys/stat.h> int main(){ struct stat st = {0}; //利用stat结构体对文件的相关信息进行保存 stat("D:\\test\\a.wmv", &st); //在堆中分配文件大小...
分类: 其他 发布时间: 10-07 23:49 阅读次数: 0

Java8日期处理

【前言】 关于日期的处理在每一个项目中都是会涉及到的。 【过程】 Instant.now()                      //Instant表示一个精确的时间点  LocalDate                                //本地日期 新的API可以用生活中一样的方式来表示年和月份。  //获取当前时间 LocalDate now=Lo...
分类: 其他 发布时间: 10-07 23:48 阅读次数: 0