亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? changed.asm

?? 是用C語言寫的NASM匯編源碼 是用C語言寫的NASM匯編源碼 是用C語言寫的NASM匯編源碼 是用C語言寫的NASM匯編源碼
?? ASM
字號:
;This file demonstrates many of the differences between NASM version X and NASM
;version 0.97
;
; changed.asm is copyright (C) 1998 John S. Fine
;
;  It may be redistributed under the same conditions as NASM as described in
;  Licence file in the NASM archive
;_________________________________
;
;  nasm changed.asm -l changed.lst
;
; When assembled without any -d switches, it includes examples which:
;       Work correctly in version X
;  and  Work incorrectly and/or display warnings in version 0.97
;  and  Do not prevent the generation of output in version 0.97
;
; Not all the differences can be seen in the .lst file.  I suggest that you use
; "ndisasm changes"  to examine the code actually generated.
;_________________________________
;
;  nasm changed.asm -l changed.lst -doldmsg
;
; When assembled with -doldmsg, it adds examples which:
;       Work correctly in version X
;  and  Generate error messages in version 0.97 and do not generate output
;_________________________________
;
;  nasm changed.asm -l changed.lst -doldcrash
;
; When assembled with -doldcrash, it adds examples which:
;       Work correctly in version X
;  and  Cause NASM to crash in version 0.97
;_________________________________
;
;  nasm changed.asm -l changed.lst -dnewmsg
;
; When assembled with -dnewmsg, it adds examples which:
;       Generate error messages in version X
;  and  Generate wrong output without warning or error message in version 0.97
;-----------------------------------------------------------------------------

; Please note that I have reported the name of the person who made the
; correction based on very limited information.  In several cases, I am sure I
; will identify the wrong author.  Please send me any corrections;  I don't
; intend to insult or exclude anyone.

;-----------------------------------------------------------------------------
; Bug fixed by Simon in assemble()
;
; The following generated "call next" / "call next-1" instead of
; two copies of "call next"
;
	times 2 a16 call next
next:

;-----------------------------------------------------------------------------
; Bug fixed by John in parse_line()  (and other routines)
;
; This used to jmp to prior.1, when it should be here.1
;
prior:
.1:
here:	jmp	.1
.1:

;-----------------------------------------------------------------------------
; Bug fixed by John in assemble()
;
; Strings used in dq and dt were not zero filled correctly
;
	dq	'b'


;-----------------------------------------------------------------------------
; Bug fixed by Simon in isn_names[]
;
; Was not recognised as an instruction
;
	int01			; Instead of INT1

;-----------------------------------------------------------------------------
; Bug fixed by Jim Hague in ???
;
; Forward references were instruction level rather than per operand
;
	shr word [forwardref],1
forwardref:

;-----------------------------------------------------------------------------
; Bug fixed by John in preproc.c
;
; It used to silently discard id characters appended to a multi-line
; macro parameter (such as the x in %1x below).
;
%macro xxx 1
%1: nop
%{1}x: jmp %1x
%endmacro
xxx yyy

;-----------------------------------------------------------------------------
; Bug added by John in preproc.c 0.98-J4, removed by John in 0.98-J5
;
; Tested here to make sure it stays removed
;
%macro TestElse 1
%if %1=0
%elif %1=1
nop
%endif
%endmacro
TestElse 1

%ifdef oldmsg
;***************************************************************
;
; The following examples will generate error messages in 0.97 and will generate
; correct output in the new version.

;-----------------------------------------------------------------------------
; Bug fixed by Simon in isns.dat
;
; The optional "near" was not permitted on JMP and CALL
;
	jmp near here

;-----------------------------------------------------------------------------
; Feature added by Simon in stdscan()
;
; You can now use the numeric value of strings in %assign
;
%assign xxx 'ABCD'
	dd xxx

;-----------------------------------------------------------------------------
; Feature added by John in add_vectors()
;
; Stranger address expressions are now supported as long as they resolve to
; something valid.
;
	mov ax, [eax + ebx + ecx - eax]

;-----------------------------------------------------------------------------
; Bug fixed by Simon in ???
;
; The EQU directive affected local labels in a way that was inconsistent
; between passes
;
.local:
neither equ $
	jmp .local

;-----------------------------------------------------------------------------
; Feature added by Jules in parse_line
;
; You can override a size specifier
;
%define arg1 dword [bp+4]
	cmp word arg1, 2

;-----------------------------------------------------------------------------
; Bug fixed by John in preproc.c
;
; You could not use a label on the same line with a macro invocation, if the
; macro definition began with a preprocessor directive.
;
	struc mytype
.long	resd	1
	endstruc

lbl	istruc mytype
	at mytype.long, dd 'ABCD'
	iend

;-----------------------------------------------------------------------------
; Warning removed by John in preproc.c
;
; In order to allow macros that extend the definition of instructions, I
; disabled the warning on a multi-line macro referencing itself.
;
%endif			;NASM 0.97 doesn't handle %0 etc. inside false %if
%macro push 1-*		;
%rep %0			;
push %1			;
%rotate 1		;
%endrep			;
%endmacro		;
%ifdef oldmsg		;

	push ax,bx

;-----------------------------------------------------------------------------
; Warning removed by John in preproc.c
;
; To support other types of macros that extend the definition of instructions,
; I disabled the warning on a multi-line macro called with the wrong number of
; parameters.  PUSH and POP can be extended equally well by either method, but
; other intruction extensions may need one method or the other, so I made both
; work.
;
; Note that neither of these warnings was really needed, because a later stage
; of NASM would almost always give an adequate error message if the macro use
; really was wrong.
;
%endif
%macro pop 2-*
%rep %0
pop %1
%rotate 1
%endrep
%endmacro
%ifdef oldmsg

	pop ax,bx
%endif


%ifdef newmsg  ;***************************************************************

;-----------------------------------------------------------------------------
; Bug fixed by John in parse_line()  (and other routines)
;
; This invalid code used to assemble without errors
;
myself equ myself+1
	jmp myself

;-----------------------------------------------------------------------------
; Change made by John in preproc.c
;
; In 0.97, an id that appears as a label on a macro invocation was always
; prepended to the first line of the macro expansion.  That caused several
; bugs, but also could be used in tricks like the arg macro in c16.mac and
; c32.mac.
;
; In version X, an id that appears as a label on a macro invocation will
; normally be defined as a label for the address at which the macro is
; invoked, regardless of whether the first line of the macro expansion is
; something that can take a label.  The new token %00 may be used for any
; of the situations in which the old prepend behavior was doing something
; tricky but useful.  %00 can also be used more than once and in places
; other than the start of the expansion.
;
%endif
%assign arg_off 0

%imacro arg 0-1 2		;arg defined the old way
	  equ arg_off
%assign arg_off %1+arg_off
%endmacro

%ifdef newmsg
arg_example arg
%endif

%imacro arg2 0-1 2		;arg defined the new way
%00	  equ arg_off
%assign arg_off %1+arg_off
%endmacro

%ifdef oldmsg
arg_example2 arg2

;-----------------------------------------------------------------------------
; Change made by Jules and John in INSNS.DAT
;
; Various instruction in which the size of an immediate is built-in to the
; instruction set, now allow you to redundantly specify that size as long
; as you specify it correctly
;
	AAD	byte 5
	AAM	byte 5
	BT	bx, byte 3
	BTC	cx, byte 4
	BTR	dx, byte 5
	BTS	si, byte 6
	IN	eax, byte 0x40
	INT	byte 21h
	OUT	byte 70h, ax
	RET	word 2
	RETN	word 2
	RETF	word 4

; note "ENTER" has not been changed yet.

;-----------------------------------------------------------------------------
; Enhancement by hpa in insns.dat et al
;
; Simplified adding new instructions, and added some missing instructions
;
	int03			; Instead of INT3
	ud1			; No documented mnemonic for this one
	ud2
	sysenter
	sysexit
	syscall
	sysret
	fxsave [ebx]
	fxrstor [es:ebx+esi*4+0x3000]

;-----------------------------------------------------------------------------
; Enhancement by hpa in insns.dat et al
;
; Actually make SSE work, and use the -p option to ndisasm to select
; one of several aliased opcodes
;
	sqrtps xmm0,[ebx+10]	; SSE opcode
	paddsiw mm0,[ebx+10]	; Cyrix opcode with the same byte seq.
	
;-----------------------------------------------------------------------------
; Enhancement by hpa in preproc.c
;
; Support %undef to remoce a single-line macro
;
%define	TEST_ME 42
%ifndef TEST_ME
%error	"TEST_ME not defined after %define"
%endif
			
%undef  TEST_ME
%ifdef  TEST_ME
%error	"TEST_ME defined after %undef"
%endif

;-----------------------------------------------------------------------------
; Bug fix by hpa in insns.dat
;
; PSHUFW and PINSRW weren't handling the implicit sizes correctly; all of
; the entries below are (or should be) legal
;
	pshufw mm2, mm1, 3
	pshufw mm3,[ebx],2
	pshufw mm7,[0+edi*8],1
	
	pshufw mm2, mm1, byte 3
	pshufw mm3,[ebx],byte 2
	pshufw mm7,[0+edi*8],byte 1

	pshufw mm2, mm1, 3
	pshufw mm3, qword [ebx], 2
	pshufw mm7, qword [0+edi*8], 1

	pshufw mm2, mm1, byte 3
	pshufw mm3, qword [ebx], byte 2
	pshufw mm7, qword [0+edi*8], byte 1

	pinsrw mm1, [esi], 1
	pinsrw mm1, word [esi], 1
	pinsrw mm1, [esi], byte 1
	pinsrw mm1, word [esi], byte 1

	
%endif				; oldmsg
	
%ifdef oldcrash  ;*************************************************************

This_label_is_256_characters_long__There_used_to_be_a_bug_in_stdscan_which_made_it_crash_when_it_did_a_keyword_search_on_any_label_longer_than_255_characters__Now_anything_longer_than_MAX_KEYWORD_is_always_a_symbol__It_will_not_even_try_a_keyword_search___

;-----------------------------------------------------------------------------
; Bug fixed by John in preproc.c
;
; Builds of NASM that prohibit dereferencing a NULL pointer used to crash if a
; macro that started with a blank line was invoked with a label
;
%macro empty_macro 0

%endm

emlabel empty_macro
	jmp	emlabel

;-----------------------------------------------------------------------------
; Enhancement by Conan Brink in preproc.c
;
; Allow %rep to be nested
;
%rep 4
%rep 5
	nop
%endrep
%endrep

%endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩视频免费观看高清完整版在线观看 | 91在线一区二区三区| 亚洲一区二区三区精品在线| 亚洲午夜久久久久久久久电影院| 精品国产乱码久久久久久影片| 成人综合激情网| 日韩不卡一区二区三区| 成人免费毛片高清视频| 久久伊人蜜桃av一区二区| 国产拍揄自揄精品视频麻豆| 日韩一区二区三区免费观看| 国产亚洲一区二区三区四区| 亚洲成人先锋电影| 精品国产一区二区国模嫣然| 国产精品丝袜91| 国产一区啦啦啦在线观看| 国产亚洲一区二区三区| 成人精品高清在线| 91久久一区二区| 捆绑紧缚一区二区三区视频| 日韩成人免费电影| 国产一区二区三区蝌蚪| 成人欧美一区二区三区视频网页| 色哟哟一区二区三区| 国产精品乱码一区二三区小蝌蚪| 亚洲18色成人| 91精品国产全国免费观看| 国产一区二区三区免费在线观看| 国产揄拍国内精品对白| 国产精品护士白丝一区av| 欧美视频在线一区二区三区| 国产一区二区三区av电影| 亚洲成人午夜电影| 欧美色手机在线观看| 国产激情视频一区二区在线观看| 中文字幕电影一区| 亚洲人成网站在线| 色婷婷精品大视频在线蜜桃视频| 老司机免费视频一区二区| 欧美一二三四区在线| 丝袜a∨在线一区二区三区不卡| 欧美自拍丝袜亚洲| 午夜视频一区在线观看| 91精品国产综合久久福利| 日韩av电影免费观看高清完整版 | 韩国一区二区三区| 2023国产一二三区日本精品2022| 精品一区二区三区久久久| 精品国产一区二区三区不卡| 国产乱子伦视频一区二区三区 | 国产福利一区在线| 国产精品女人毛片| 精品视频在线免费看| 日本系列欧美系列| 2024国产精品视频| 91污在线观看| 日韩经典中文字幕一区| 精品国产乱码久久久久久影片| 国产精品一区二区果冻传媒| 亚洲欧美在线视频观看| 91蜜桃在线免费视频| 亚洲不卡一区二区三区| 精品1区2区在线观看| 成人av免费观看| 亚洲成在线观看| wwww国产精品欧美| 在线观看一区二区视频| 久久精品国产999大香线蕉| 欧美国产精品中文字幕| 色狠狠综合天天综合综合| 蜜桃在线一区二区三区| 国产亚洲自拍一区| 欧美日韩免费观看一区三区| 国内偷窥港台综合视频在线播放| 亚洲四区在线观看| 9191久久久久久久久久久| 福利一区二区在线| 午夜视黄欧洲亚洲| 亚洲欧洲色图综合| 欧美videos中文字幕| 色综合久久久久综合| 久久99久久精品欧美| 一区二区三区不卡视频| 久久久久久99精品| 3d成人动漫网站| 色综合久久久久网| 国产成人鲁色资源国产91色综| 亚洲国产乱码最新视频 | 午夜精品久久久久久久| 亚洲国产精品成人综合色在线婷婷| 欧美日韩在线观看一区二区| 国产成人免费在线观看| 玖玖九九国产精品| 视频一区视频二区中文| 日本不卡一区二区三区高清视频| 亚洲乱码国产乱码精品精可以看| 久久精品亚洲麻豆av一区二区| 日韩一级精品视频在线观看| 欧美亚洲高清一区| 91福利在线播放| 99久久久国产精品| 成人激情电影免费在线观看| 美女视频第一区二区三区免费观看网站| 亚洲另类在线视频| 亚洲色图在线播放| 国产精品久99| 最近中文字幕一区二区三区| 久久久久国产精品厨房| 亚洲精品在线观看网站| 日韩视频中午一区| 精品日韩一区二区三区免费视频| 欧美一区二区久久| 91麻豆精品国产自产在线观看一区| 欧美亚洲图片小说| 欧美伦理视频网站| 777精品伊人久久久久大香线蕉| 欧美日韩国产在线观看| 欧美日韩成人在线| 日韩一区二区精品葵司在线 | 欧美肥妇free| 欧美大片顶级少妇| 久久午夜免费电影| 久久久精品免费免费| 国产精品激情偷乱一区二区∴| 中文欧美字幕免费| 亚洲男人的天堂av| 亚洲成人精品在线观看| 9色porny自拍视频一区二区| 国产黑丝在线一区二区三区| 成人免费看黄yyy456| 色综合咪咪久久| 日本黄色一区二区| 欧美猛男gaygay网站| 欧美电影免费提供在线观看| 国产亚洲精品精华液| 自拍视频在线观看一区二区| 亚洲综合免费观看高清完整版在线| 樱花影视一区二区| 秋霞成人午夜伦在线观看| 久国产精品韩国三级视频| 丁香另类激情小说| 欧美在线你懂的| 欧美成va人片在线观看| 亚洲国产精品ⅴa在线观看| 一区二区三区欧美日韩| 精品一区二区三区香蕉蜜桃| www.成人网.com| 欧美体内she精高潮| 精品剧情在线观看| 亚洲免费资源在线播放| 蜜桃视频一区二区三区| 北条麻妃国产九九精品视频| 欧美日韩第一区日日骚| 国产夜色精品一区二区av| 亚洲国产视频网站| 成人小视频在线| 欧美日韩激情一区二区| 国产午夜精品久久久久久久| 亚洲国产精品影院| 成人av网址在线| 精品剧情在线观看| 亚洲18色成人| caoporm超碰国产精品| 欧美一区二区三区成人| 韩国中文字幕2020精品| 欧美网站大全在线观看| 国产精品久久久久毛片软件| 美日韩一区二区| 91精彩视频在线观看| 久久精品这里都是精品| 日韩成人午夜精品| 在线看一区二区| 国产精品美日韩| 国产精品自拍在线| 日韩欧美在线观看一区二区三区| 亚洲精品美腿丝袜| 丁香激情综合国产| 精品成人a区在线观看| 视频一区二区欧美| 日本久久精品电影| 最新国产精品久久精品| 国产福利一区二区三区视频| 欧美一级欧美三级在线观看 | 日日摸夜夜添夜夜添精品视频| av在线播放成人| 国产色一区二区| 国产资源精品在线观看| 欧美一区二区视频网站| 亚洲国产精品久久人人爱 | 亚洲女与黑人做爰| eeuss影院一区二区三区 | 久久综合色8888| 九九国产精品视频| 日韩美女一区二区三区四区| 蜜臀av性久久久久蜜臀aⅴ| 宅男在线国产精品| 奇米888四色在线精品| 欧美精品黑人性xxxx| 亚洲成人av中文| 欧美卡1卡2卡|