跳至正文

dd格式与ab格式,ddib格式

java求教:::新手———— 读一个文本,文本形式如(AA:BB:cc:DD)很多行 都以这种形式出现。。

java求教:::新手———— 读一个文本,文本形式如(AA:BB:cc:DD)很多行 都以这种形式出现。。

正好前几天温故了下IO这块的知识,随便帮你写一个练练手。

package com.hqh.test;

import java.io.BufferedReader;

import java.io.FileInputStream;

import java.io.InputStreamReader;

public class ReadFile {

public static void readFile(String file) throws Exception{

FileInputStream fis=new FileInputStream(file);

BufferedReader bf = new BufferedReader(new InputStreamReader(fis));

String line = bf.readLine();

while((line=bf.readLine())!=null){

//你想要的字符串+冒号

String start =”AB:”;

//如果本行是以start开头

if(line.startsWith(start)){

//获取最后面一个冒号后面的字符串

String lastString = line.substring(line.lastIndexOf(“:”)+1);

System.out.println(lastString);

}

}

fis.close();

}

/**

* @param args

*/

public static void main(String[] args) {

try {

readFile(“C:\\test.txt”);

} catch (Exception e) {

e.printStackTrace();

}

}

}

test.txt文件内容:

AA:BB:cc:DD

AB:BB:cc:123

AB:BB:cc:DD:hello

ABA:BB:cc:DD:hh

AB:BB:cc:DD

运行结果:

123

hello

DD

汇编语言的标号和变量有什么区别?

汇编语言的标号和变量有什么区别?

汇编语言中,变量和标号都是用户定义的符号地址,

标号有两个属性,段基地址、偏移地址

变量有三个属性,段基地址、偏移地址和数据类型

一般来说,标号只在代码段中被定义,而变量则可以被定义在数据段和代码段中!

计算机汇编语言的一个突出优点就是利用符号(Symbol)来代替目标码,也即大量的二进制代码用符号来表示,使汇编语言源程序容易理解,便于记忆.

在宏汇编语言中所有变量名、标号名、记录名、指令助记符和寄存器名等统称符号.这些符号可通过汇编控制语句的伪操作命令重新命名,也可以通过指令给它定义其它名字及新的类型属性,因而给程序设计带来很大的灵活性.符号是程序员在程序中用来代表某个存储单元、数据、表达式和名字等所定义的标识符,可分为寄存器、标号、变量、数字、名字五类.

汇编语句形式:

START: ADD AX,BUFFER

DATA SEGMENT

BUFFER DB 01H, 02H

DATA ENDS

JMP START其中START,BUFFER,DATA均为符号,它们分别表示标号,变量名,段名,它们具有完全不同的特定含意.

标号

标号(LABEL)是为一组机器指令所起的名字.标号可有可无,只有当需要用符号地址来访问该语句时,才给此语句赋予标号.标号是程序的目标标志,总是和某地址相联系,供转移或循环指令控制转移使用.

2 1 标号的属性

因标号表示的是指令地址,所以它有三个属性,即段属性、偏移属性和类型属性.段属性即段地址,标号的段必须在CS中.偏移属性是表示该标号到段首地址的距离,单位是字节,是16位无符号整数.类型属性是距离属性,指标号和转移指令的距离,该标号在本段内引用,距离在-128~+127之间时称短标号,距离属性为SHORT,当标号在本段,距离在-32768~+32767之间时称近标号,距离属性为NEAT,当引用标号的指令和标号不在同一段时称远标号,距离属性为FAR.

2 2 标号的定义

标号的定义有三种方法:

2 2 1 隐含说明标号距离属性为SHORT和NEAR的标号可以使用隐含说明,即在代码段中定义,标识符后加冒号,放在一条汇编指令的操作符前面.例:

NEXT: MOV AX,BX

———-

LOOP NEXT

– – – – – – – – – �

NEXT1: CMP AX,BX

JA NEXT1

其中NEXT和NEXT1都是标号名.

2 2 2 用LABEL定义标号

对于属性为NEAR和FAR的标号均可以用这种定义.格式是:

标号名 LABEL NEAR/FAR

例如:NEXT LABEL NEAR/FAR

– – – – – – – – – �

LOOP NEXT

2 2 3 用EQU定义标号

对于属性为NEAR和FAR的标号也可用EQU定义.格式是:

标号名 EQU THIS NEAT/FAR

例如:

NEXT EQU THIS NEAR

– – – – – – – – – �

LOOP NEXT

2 3 标号的使用

2 3 1 无条件转移指令中标号作为转移地址

格式:

JMP 标号

其中标号可以是短标号,近标号或远标号

. 2 3 2 循环指令中,标号作为转移地址

格式:LOOP 标号

其中标号只能是短标号

2 3 3 条件转移中标号作为转移地址

格式:

条件转移指令 标号

其中标号只能用短标号

2 3 4 属性分离符

2 .3. 4. 1 取段地址算符SEG

例如:MOV AX,SEG NEXT

SEG NEXT 就是取标号NEXT所在段的段地址.

2 3 4 2 取偏移量算符OFFSET

例如:MOV BX, OFFSET NEX

其中OFFSET NEXT就是取标号NEXT的有效地址,该语句等效于:LEA BX, NEXT

2 3 4 3 取类型算符TYPE

例如:

MOV AX, TYPE NEXT

若NEXT为近标号,则TYPE NEXT值为FFFFH(-1),若NEXT为远标号TYPE NEXT值为FFFEH(-2).其中-1和-2无真正的物理意义,仅以数值表示标号类型而已.

变量

变量(Variable)代表存放在某些存储单元的数据,这些数据在程序运行期间可以随时被修改.变量是通过变量名在程序中引用,变量名实际上是存储区中一个数据区的名字,以变量名数据的方式供程序员使用,作为指令或伪.指令的操作数,大大方便了程序设计者.

由于变量是在逻辑段中定义.这就决定了变量和标号一样具有段属性、偏移属性和类型属性,前两个和标号的属性相同,而类型属性是指出数据区的数据项的存取单位是字节(BYTE),字(WORD)或数字(DWORD)等.可见变量和标号的主要区别在于变量指的是数据,而标号则对应的是指令

3 1 变量的定义

变量通常也有三种定义法

.3 1 1 用伪指令DB,DW,DD等来定义

格式:[变量名] 定义数据伪指令〈表达式〉

其中变量名可有可无,若没有名字则该变量为无名变量.表达式可以是常数、保留符号”?”、ASCII码字符串(只能用DB定义)、地址表达式(不能用DB定义)、预置数据表格和用DUP定义的重复值.变量名可在任一逻辑段中定义,其后边不紧跟冒号而是加一空格

.例如:A DB 100;A为一个字节,值为100.

B DB 100,2 3;B值为100,B+1的值为6.

C DB ‘ABC’;C的值为41H,C+1的值为42H,C+2的值为43H.D DB ?;

D是一个字节,预留一个字节,可以置入任何内容.

E DB 23 DUP(0);定义23个0,每一个0占一个字节.

F DB 3 DUP(1,2 DUP(0));定义9个数,顺序为:1,0,0,1,0,0,1,0,0.

G DW ‘AB’,’CD’;G的值为4142H,G+2的值为4344H.

H DW 2 3;H为一个字,存放顺序为06,00H

I DW ? 预留一个字,占两个字节单元,

3 1 2 用伪指令LABEL定义变量

格式:

变量名 LABEL BYTE/WORD/DWORD

例如:

BUF LABEL BYTE

DB 21

它等价于 BUF DB 21

3 1 3 用伪指令EQU定义变量

格式:变量名 EQU THIS BYTE/WORD/DWORD

THIS是定义任意类型算符,它同LABEL一样用于建立变量或标号类型属性,而其段属性为语句所在段的段地址,偏移属性为所在位置的下一个能分配到的可用偏移地址.例如:

STACK SEGMENT

DW 100 DUP(?

TOP EQU THIS WORD(或TOP LABEL WORD)

STACK END

变量TOP被定义为字类型,它的偏移量应为STACK段定义100个字后的下一个字的偏移量,它恰就是堆栈指针SP的初值,因此经常用这种方法为SP赋初值.本文来自编程入门网

3 1 4 双重定义变量名利用隐含方式和显示方式的双重方式,可以对同一位置定义为双重变量.

格式

〈变量名〉 EQU THIS〈类型〉

〈变量名〉 DB/DW/DD…

例如:

AB EQU THIS BYTE

(或AB LABEL BYTE)

AW DW 50 DUP(0)AW定义为字变量,在AW前使用了THIS BYTE,定义了一个字节类型变量,访问同一个位置,用AB按字节访问,用AW则按字访问.

3 2 变量的访问

3 2 1 变量名作为存储单元的直接地址

变量名用直接寻址时,变量的类型必须与指令的要求相符合.

例如:AB已定义字节变量,AW定义为字变量,用变量名作直接寻址形式如下:

MOV AH,AB

MOV AX,AW

3 2 2 用合成运算符PTR临时改变变量类型

接上例用

MOV CX,WORD PTR AB

MOV CL,BYTE PTR AW

则可临时把AB变为字类型,AW变为字节类型,但段和偏移属性不变.

3 2 3 变量名作为相对寻址中的偏移量

例如:

MOV AX,AB〔SI〕

MOV AX,AW[BX][SI]

在这里AB,AW分别表示它们的偏移量而不是它们所表示的数据,常用于数组或表格操作中,AB[SI]就表示AB数组中第SI个元素.

3 2 4 属性分离符

其中SEG和OFFSET用法和标号相同,分别表示取变量所在段的段地址和变量的偏移地址.而TYPE运算符,将回送该变量类型所表示的字节数.

例如:设AB为字节变量,AW为字变量,则:

MOV AH,TYPE AB即MOV AH,1

MOV AX,TYPE AW即MOV AX,2

3 2 5 取变量数据项个数运算符LENGTH对于变量定义时使用DUP的情况,汇编程序将回送DUP前的重复次数,即分配给该变量的单元数,若表达式有多个DUP,则取第一个DUP项,其它情况则回送1.

例如:ARRAY DW 50 DUP(0)则

MOV CX,LENGTH ARRAY即MOV CX,50

ARRAY1,DW1,2,3 则

MOV CX,LENGTH ARRAY1

即MOV CX,1

可见LENGTH表示数组元素个数,而不管其类型.

3 2 6 取变量数据项长度算符SIZE

SIZE算符,汇编程序将回送分配给该变量的字节数,即

SIZE=LENGTH TYPE

例如:

ARRAY DW 50 DUP(0) 则

SIZE ARRAY=50 2=100

要注意:对字符串变量求其长度,使用SIZE不能达到目的.

例如:

ST DB ‘ABCDEFG’ 则

SIZE ST值为1而不是7,欲求字符串长可用COUNT EQU $-ST,则COUNT值为7,其中$为定义ST一串字符后下一个可用的偏移地址.

3 2 7 变量名仅对应数据区第一个数据项

例如:

WORD DW 20 DUP(?)

MOV AX,WORD;第一个元素送AX,

MOV AX,WORD+38;第20个元素送AX.

其它符号

除标号和变量外,符号还可表示常量、段名、过程名、寄存器名和指令助记符等.

(1)符号常数常数也常以符号形式出现,使之更具有通用性且便于修改.例:

COUNT EQU 100 则COUNT就表示常数100.

(2)符号表示指令助记符.例:

MOV EQU MOV则MOVE就表示指令MOV

(3)符号表示寄存器,例:COUNT EQU CX则COUNT就代表寄存器CX.

(4)符号作为段名,例:

DATA SEGMENT

– – – — – – – – – – – – – –

DATA ENDS

DATA 是段名,引用DATA表示段地址.

(5)符号作为过程名,例:SUBR PROC NEAR/FAR�

– – – — – – – – – – – – – –

SUB ENDP

SUB为过程名,它同样具有段、偏移量和距离类型三个属性

.(6)符号作为宏指令名

宏定义格式宏指令名 MACRO [形式参数]

– – – — – – – – – – – – – –

� ENDM

宏调用格式:

宏指令名 [实参数]

每当引用宏指令名则汇编程序对宏调用作宏展开,就是用宏定义体取代源程序中的宏指令并用实参数取代宏定义中的形式参数.

软件测试的术语SRS,HLD,LLD,BD,FD,DD分别是什么意思?

软件测试的术语SRS,HLD,LLD,BD,FD,DD分别是什么意思?

SRS:软件需求说明书,是指在研究用户要求的基础上,完成可行性分析和投资效益分析以后,由软件工程师或分析员编写的说明书。

HLD:概要设计说明书,编制的目的是说明对程序系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计、安全设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。

LLD:详细设计说明书,编制目的是说明一个软件系统各个层次中的每一个程序的设计考虑,如果一个软件系统比较简单,层次很少,本文件可以不单独编写,有关内容合并入概要设计说明书。

BD:概要设计,是一个设计师根据用户交互过程和用户需求来形成交互框架和视觉框架的过程,其结果往往以反映交互控件布置、界面元素分组以及界面整体板式的页面框架图的形式来呈现。

DD:详细设计,是软件工程中软件开发的一个步骤,是对概要设计的一个细化,详细设计每个模块实现算法,所需的局部结构。

FD:结构设计,是进行以模块功能和处理过程设计为主的详细设计的基本原则。结构化程序设计是过程式程序设计的一个子集,它对写入的程序使用逻辑结构,使得理解和修改更有效更容易。

扩展资料:

SRS详细定义了信息流和界面,功能需求,设计要求和限制,测试准则和质量保证要求。它的作用是作为用户和软件开发人员达成的技术协议书,作为着手进行设计工作的基础和依据,系统开发完成以后,为产品的验收提供了依据。

SRS必须用统一格式的文档进行描述,为了使需求分析描述具有统一的风格,可以采用已有的且能满足项目需要的模板,也可以根据项目特点和软件开发小组的特点对标准进行适当的改动,形成自己的模板。软件需求说明主要包括引言、任务概述、需求规定、运行环境规定和附录等内容。

EXCEL如何对比四列数据并找出相同条件数据列出不同条件数据

1、打开需要设置的工作表; 2、数据如图所示; 3、选中c1单元格,点击公式选项卡. 4、点击选项卡下方的插入函数. 5、在搜索函数下的方框内输入if,点击转到. 6、选择if函数,点击确定. 7、相比较的单元格相等,则显示相同,不等则显示不同,根据这个条件填写函数,点击确定. 8、拖动单元格右下角的角标,填充单元格. 9、两列数据的比较就完成了.