3.3 x86 Command System3.3. 1 data transmission instructions
1. General transfer commands(1) mov commandFormat: mov DST, SRCFunction: Send the content of the source operand SRC to the destination operand DST.(2) movsx signed extended transfer command (after 386)Format: movsx DST, SRCFunction: (DST) compliant with the extension (SRC)(3) movzx transfer instruction with zero extension (after 386)Format: movzx DST, SRCFunction: (DST) Zero-Scaling (SRC)Example 3.25 movzx dx, Al; 816Example 3.26 movzx
ASPX page:
Onmouseover = 'showtip2 (this, poptip, "Song name: + "+ "+ "+ " Nbsp; | nbsp; + "+ "Onmouseout = "hidetip (this, poptip, event)">
++ ++The following is the JS part. Save it as a JS file with the corresponding name.
document. writeln (" "); document. writeln ("
"); var popup_menu = NULL; document. onclick = new function ("showpopupmenu (null)")
Function showpopupmenu (El, M, cuuid, user ){If (m ){M. style. Display = '';M. style. Left = getpos (El, "Left") + El. offsetwidt
, such as Read_track, where POPs and push directives were used, so it was set up to load the SETUP.S module at the back of the Bootsec.s; get the drive parameters, this should be a value floppy , mainly obtains the number of sectors per track, outputs "Loading system ..." in the screen, then loads the system module that is the kernel module, determines the root file system device, jumps between segments, and executes in the SETUP.S; Here is my understanding of some of the code in BOOTSEC.S. Bo
jump have unconditional jump: JMP. and conditional jump, JX. There are 19 instructions on X.
DATA SEGMENT
XX db 5
YY db?
DATA ENDS
Stack SEGMENT stack
DB DUP (?)
STACK ENDS
CODE SEGMENT
assume Cs:code, Ds:data, Ss:stack
START:
mov ax, DATA
mov DS, ax
; Core code segment
MOV al, XX
CMP al, 0; X-0 to establish the
Jge Biger of sign position; X>=0 jump to Biger
MOV AL,-1; X
Enter 5 and return 1. No problem 、、、
Eg: programmatic implementation: A1+....+A10 o
. The 8086 CPU has a total of 14 registers and is all 16 bits.That is, a total of 14 ax,bx,cx,dx,sp,bp,si,di,ip,flag,cs,ds,ss,es .These 14 registers are divided into general registers, control registers and segment registers in a certain way. Universal Registers:AX,BX,CX,DX is called a data register:AX (ACCUMULATOR): Cumulative register, also known as accumulator;BX (Base): Base address register;
of logfont. lfweight = 1000; logfont. lfescapement = logfont. lforientat Ion = 0; cfont tryfont; Verify (tryfont. createfontindirect ( logfont); cfont * pfontold = PDC-> SelectObject ( tryfont); // adjust the font height based on the control size, coordinate the text with the control csize textsizeclient = PDC-> gettextextent (text, L); If (rectclient. width () * textsizeclient. cy> rectclient. height () * textsizeclient. CX) {logfont. lfheight =: mu
: Draw (CDC * PDC, const crect rect, uint state){Cstring text; getwindowtext (text );Int L = text. getlength ();Crect rectclient = rect; // Obtain the control fontCfont * pfont = getfont (); // Determine the valid font height and widthLogfont;Pfont-> GetObject (sizeof (logfont), logfont );If (logfont. lfheight = 0) logfont. lfheight = 20;Logfont. lfwidth = 0; // The width is set to 0, and the width value is determined by the height.Logfont. lfweight = 1000;Logfont. lfescapement = logfont. lf
Problem: Computes the number in the ffff:0006 unit multiplied by 3, and the result is stored in the DX.
Answer:
One: Analysis of ideas:
1. Whether the result of the operation will exceed the range that DX can store. The book in the ffff:0006 unit is a byte-type data, 8-bit, which ranges between 0 and 2 of eight parties, and the maximum is 2 of 8, or 255. Then the value after multiplying it with 3 is 255X3=765=02FDH. And the maximum value that DX can store is 2 of 16 square, namely 65535=0FFFFH,
shifted to the right. If it can be moved down, recursively moves down. If the target is reached, the recursion is terminated. It should be noted that it is natural to use recursion to express the Backtracking Method. Because the Backtracking Method takes precedence over depth, so does recursion.
The program source code is as follows:
# Include "stdlib. H"# Include "stdio. H"Static int path [30] = {0};/* indicates the record path. If the value is 1, it indicates the right. If the value is 2, it
strnoCMP bp,-1Je @ quitMoV Di, offset cpositionMoV ax, BPCall dec2asciiMoV dx, offset stryes@ Quit:MoV ah, 9Int 21 hMoV ax, 4c00hInt 21 hMain endp;----------------------Conststrlen equ 15Strprompt DB "input no"Cstrname dB '1'DB "strings: $"Str1maxlen dB conststrlenStr1len db 0String1 dB conststrlen DUP (?)Str2maxlen dB conststrlenStr2len db 0String2 dB conststrlen DUP (?)Strtoolen DB "string 1 is longer than string 2! $"Strisnull DB "the length of string 1 is 0 $"Stryes DB "string 1 appears on
width value is determined by the height.Logfont. lfweight = 1000;Logfont. lfescapement = logfont. lforientation = 0;Cfont tryfont; Verify (tryfont. createfontindirect ( logfont ));Cfont * pfontold = PDC-> SelectObject ( tryfont );// Adjust the font height based on the widget size to coordinate the text with the widgetCsize textsizeclient = PDC-> gettextextent (text, L );If (rectclient. Width () * textsizeclient. Cy> rectclient. Height () * textsizeclient. C
;Cd_rom_driver DW?; CD drive letterRed_max_h DW?red_max_l DW?CD_INT macro control of Cd-audio macrosMOV ax,1510hMOV cx,cd_rom_driverint 2FHEndmmy:; This program's Mouse event myPushfCMP bx,7 if three keys are pressed at the same timeJNZ TTTMOV cs:ctrl,stop; stopJMP LLTttCMP bx,3 If two keys are pressed at the same timeJNZ qCMP dx,1 the top of the mouseJNB OtherMOV cs:ctrl,stop; stopJMP LLOtherCMP cx,599, mo
Why can't the data I just inserted in this code be displayed? Open cx. php (the last piece of code) separately. you can view the data on this page, but you cannot view the data you just inserted when you jump to the page. why? Thank you.
$ Con = mysql_connect ("localhost", "root ","");
If (! $ Con)
{
Die ('could not connect: '. mysql_error ());
}
Mysql_select_db ("t1", $ con );
$ SQL = "INSERT INTO stu (id, name, num)
VALUES ('$ _ POST
X86 series CPUs can operate in 16-bit real mode and 32-bit protected mode, the real mode is characterized by address bus only 20 bits, that is, only 1MB of addressing space, in order to be compatible with the old Cpu,intel x86 series CPU including the latest CPU in the power-up run in 16-bit real mode, At the same time on the hardware to force CS into 0xf000,ip 0xfff0, then Cs:ip point to 0xffff0 this address, that is, the power of the instantaneous code from the place to execute, and the BIOS i
, base address addressing, variable address addressing, base address change addressing, and so on. ds:bx ss:bpds:si/di directive usage: IP cannot directly assign value call ret jmp flags Jnz:zf is not equal to 0 time transfer, that is, the previous instruction CMP ax,cx AX-CX, when the ZF is not equal to 0, then jmp to the following instruction jc:cf=1 time transfer, that is, the previous instruction oper
other. Once the multiples of the life value increase and the multiples of the same value increase, in five hours, serious consequences will occur.As a result, TMK was panic. He wanted to know whether the upgraded life value and the multiples of the energy value were equal. As he was very flustered, he handed over the computing task to you.
As a member of Accenture, you think this problem is very simple, thanks to the culture in which
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.