标签: mov

错误:未指定操作大小 - NASm

我正在使用 16 位 NASM 程序集,但存在无法构建代码的问题。错误发生在此处的所有 MOV 行上:

  section .bss
  x_coord   RESB 8 ; [x_coord] is the head, [x_coord+2] is the next cell, etc.
  y_coord   RESB 8 ; Same here
  pixel_x  RESB 2  ; Storage for calculations
  pixel_y  RESB 2  ; Storage for calculations

   ...


  MOV [pixel_x], [x_coord]
  MOV [pixel_y], [y_coord]
  CALL DrawPixel

  MOV [pixel_x], [x_coord+2]
  MOV [pixel_y], [y_coord+2]
  CALL DrawPixel

  MOV [pixel_x], [x_coord+4]
  MOV [pixel_y], [y_coord+4]
  CALL DrawPixel

  MOV [pixel_x], [x_coord+6]
  MOV [pixel_y], [y_coord+6]
  CALL DrawPixel
Run Code Online (Sandbox Code Playgroud)

我读到这是因为汇编程序不知道变量的大小。我尝试MOV [pixel_x], byte …

assembly nasm mov x86-16

6
推荐指数
1
解决办法
2万
查看次数

ffmpeg每帧请求的位数过多

我正在使用ffmpeg将视频转换为mp4格式.一切正常,除了MOV格式.

我用于一切的命令是:

ffmpeg -i input.mov -strict experimental -sameq -s vga -aspect 1.7777 -vcodec libx264 -preset fast -crf 22 -y output.mp4

但我一直得到的输出是:

ffmpeg version 0.9, Copyright (c) 2000-2011 the FFmpeg developers
built on Mar 12 2012 11:01:05 with gcc 4.4.5
configuration: --enable-libx264 --enable-gpl --disable-yasm
  libavutil    51. 32. 0 / 51. 32. 0
  libavcodec   53. 42. 0 / 53. 42. 0
  libavformat  53. 24. 0 / 53. 24. 0
  libavdevice  53.  4. 0 / 53.  4. 0
  libavfilter   2. 53. 0 / …
Run Code Online (Sandbox Code Playgroud)

mp4 ffmpeg mov

5
推荐指数
2
解决办法
1万
查看次数

无法在iPhone上的html5视频标签上显示.mov文件

我尝试了不同的方法,用Iphone在HTML5页面上显示.mov视频(在linux上的"ISO Media,Apple QuickTime电影"),但它无效.

我的代码是:

<video width="320" height="240">
 <source src="test.mov">
</video>
Run Code Online (Sandbox Code Playgroud)

使用所有桌面浏览器(chrome,firefox ....),我可以显示视频.

任何的想法?

提前致谢.

iphone video html5 mov

5
推荐指数
1
解决办法
1万
查看次数

各种 MOV 操作码之间有什么区别?

在参考指南中,我看到MOV操作码是 88、89、8A 等。为什么一条指令有多个操作码?

x86 assembly opcode mov

5
推荐指数
1
解决办法
1518
查看次数

汇编"mov"指令

我通过比较交流程序与其程序集等效来学习程序集.

这是代码.

.file   "ex3.c"
.section    .rodata
.LC0:
    .string "I am %d years old.\n"
.LC1:
    .string "I am %d inches tall.\n"
    .text
    .globl  main
    .type   main, @function
main:
    pushl   %ebp    //establish stack frame//
    movl    %esp, %ebp //move esp into ebp, all contents saved down stack//
    andl    $-16, %esp //16 from esp for local var space//
    subl    $32, %esp//stack frame reserving - 32 bytes//
    movl    $10, 24(%esp)
    movl    $72, 28(%esp)
    movl    24(%esp), %eax
    movl    %eax, 4(%esp)
    movl    $.LC0, (%esp)
    call    printf
    movl …
Run Code Online (Sandbox Code Playgroud)

assembly instruction-set mov

5
推荐指数
2
解决办法
5万
查看次数

MASM Assembly将8位寄存器移动到16位寄存器(即mov cx,ch)

我决定学习汇编编程语言.我正在使用这个.在底部练习它在一些指令中找到错误,其中之一是

mov cx, ch 
Run Code Online (Sandbox Code Playgroud)

我在SO上发现了一些类似的问题,解释了如何实现它,但现在我想知道为什么禁止这个操作?

假设我在CH中有10d = 00001010b并且想要将其置于CL并同时擦除CH.mov cx, ch似乎这样做是因为它将10d显示为16bit 00000000 00001010并将其分别放入CH和CL(整个CX)

有什么问题,为什么给定的教程要求在这个表达式中找到错误?

x86 assembly masm mov zero-extension

5
推荐指数
1
解决办法
3940
查看次数

在 x86 汇编中什么时候应该使用 MOVS 而不是 MOV?

我在《英特尔 64 位和 32 位架构软件开发人员手册》中遇到过这两条指令,我只是想知道两者之间的区别是什么,以及何时应该使用其中一个而不是另一个。

optimization x86 assembly mov

5
推荐指数
1
解决办法
1万
查看次数

NASM和8位内存偏移混淆

从英特尔软件开发人员手册(本文中称为ISDM)和x86指令集参考(我假设,它只是前者的副本),我们知道该mov指令可以将数据从eax/ax/al内存偏移量移动到反之亦然.

例如,mov moffs8, alal寄存器的内容移动到某个8位的存储器偏移量moffs8.

现在,是什么 moffs8?引用ISDM(3.1.1.3):

moffs8,moffs16,moffs32,moffs64 - MOV指令的某些变体使用的字节,字或双字类型的简单存储器变量(存储器偏移).实际地址由相对于段基的简单偏移给出.指令中没有使用ModR/M字节.显示的数字moffs表示其大小,该大小由指令的地址大小属性决定.

我强调句子说的moffs8字节类型,大小是8位.

我是大会的初学者,所以,在读完之后,我立即开始mov moffs8, al使用NASM 的指令.这是我写的代码:

; File name: mov_8_bit_al.s
USE32

section .text
    mov BYTE [data], al

section .bss
    data resb 2
Run Code Online (Sandbox Code Playgroud)

这是nasm -f bin mov_8_bit_al.s产生的(十六进制):

A2 08 00 00 00
Run Code Online (Sandbox Code Playgroud)

以下是我对此的理解:

  • A2 是的操作码 MOV moffs8, AL
  • 08是内存偏移本身,大小为1个字节
  • 00 00 00 …

x86 assembly mov

5
推荐指数
1
解决办法
444
查看次数

如何从 Android 中的本机应用程序播放 mov 视频?

我已经尝试了多个模块来播放来自 android 中的本机应用程序的 mov 视频。但没有一个奏效。任何的想法?

  • react-native-video-player(错误无法播放此视频)
  • react-native-media-player (java 错误)
  • react-native-android-video-player (java 错误)
  • react-native-video(不播放 mov)
  • react-simple-video-player (不支持 react native) react-native-video-controls (不播放 mov)
  • react-native-video-player(不播放 mov)

mov react-native react-native-android

5
推荐指数
1
解决办法
3376
查看次数

为什么在将 unsigned char 转换为有符号数据类型时在汇编中使用 movzbl?

我正在学习MOV汇编中的数据移动()。
我尝试编译一些代码以查看 x86_64 Ubuntu 18.04 机器中的程序集:

typedef unsigned char src_t;
typedef xxx dst_t;

dst_t cast(src_t *sp, dst_t *dp) {
    *dp = (dst_t)*sp;
    return *dp;
}
Run Code Online (Sandbox Code Playgroud)

哪里。src_tunsigned char至于,dst_t我试过了char,,shortintlong结果如下所示:

// typedef unsigned char src_t;
// typedef char dst_t;
//  movzbl  (%rdi), %eax
//  movb    %al, (%rsi)

// typedef unsigned char src_t;
// typedef short dst_t;
//  movzbl  (%rdi), %eax
//  movw    %ax, (%rsi)

// typedef unsigned …
Run Code Online (Sandbox Code Playgroud)

c assembly casting mov zero-extension

5
推荐指数
1
解决办法
1495
查看次数